SpringBoot整合ActiveMQ消息案例
SpringBoot 的消息功能用起来还挺顺的,尤其是和 ActiveMQ 搭配的时候,配置简单、上手快,消息传递也挺稳。
SpringBoot 自带的spring-boot-starter-activemq
starter,省了不少配置麻烦,直接在pom.xml
里引入就行:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
在application.yml
或者application.properties
里配置下连接信息,比如:
spring:
activemq:
broker-url: tcp://localhost:61616
user: admin
password: admin
再写个配置类,用JmsMessagingTemplate
来发消息就完事了。发送、接收一套下来,逻辑清晰,代码也好维护:
@Configuration
public class ActiveMQConfig {
@Autowired
private JmsMessagingTemplate jmsMessagingTemplate;
public void sendMessage(String queueName, String message) {
jmsMessagingTemplate.convertAndSend(queueName, message);
}
@JmsListener(destination = "queueName")
public void receiveMessage(String message) {
System.out.println("Received message: " + message);
}
}
你还可以搞点对点的Queue
,也可以玩发布订阅的Topic
,多个消费者一起吃消息都没问题,挺适合微服务通信的场景。
哦对了,部署前记得先把 ActiveMQ 服务器跑起来,账号密码别忘了对上。不然半天收不到消息可别怪我没提醒你。
如果你正好在搭建消息系统,想找个轻量好用的方案,SpringBoot + ActiveMQ 这套组合,还挺值得一试的。