Springのネイティブメッセージキューはどう設定すればいいですか?
Spring Frameworkはメッセージキューを内蔵していませんが、ActiveMQ、RabbitMQ、Kafkaなどの複数のメッセージキューの統合サポートを提供しています。使用するメッセージキューに合わせて適切な統合方法を選択して設定できます。
SpringとActiveMQの統合を構成する方法を、以下にActiveMQの例を使って説明します。
- ActiveMQの依存関係を追加します
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
- Spring Boot の設定ファイルに ActiveMQ 接続情報を設定する。
spring.activemq.broker-url=tcp://localhost:61616
spring.activemq.user=admin
spring.activemq.password=admin
- メッセージ送信機を作成する。
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jms.core.JmsTemplate;
import org.springframework.stereotype.Component;
@Component
public class MessageSender {
@Autowired
private JmsTemplate jmsTemplate;
public void sendMessage(String destination, String message) {
jmsTemplate.convertAndSend(destination, message);
}
}
- メッセージリスナーを作成します:
import org.springframework.jms.annotation.JmsListener;
import org.springframework.stereotype.Component;
@Component
public class MessageReceiver {
@JmsListener(destination = "myQueue")
public void receiveMessage(String message) {
System.out.println("Received message: " + message);
}
}
SpringとActiveMQの統合設定は完了です。具体的なメッセージキューに応じて、適切な依存関係と設定方法を選択できます。