今天学习了springboot整合ActiveMQ。
首先开启ActiveMQ,并导入坐标:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
其次导入配置:
spring:
activemq:
broker-url: tcp://localhost:61616 # 服务端口:61616 管理后台端口:8161
jms:
template:
default-destination: position # 把消息放到服务器指定位置
pub-sub-domain: true # 开启发布订阅模式,false是点对点的模式
接下来是实现:
@Service
public class MessageServiceActivemalmpl implements MessageService {
@Autowired //客户端注入
private JmsMessagingTemplate messagingTemplate;
@Override
public void sendMessage(String id) {
System.out.println("待发送短信的订单已纳入处理队列,id: " + id);
messagingTemplate.convertAndSend("order.queue.id",id);
}
@Override
public String doMessage() {
String id = messagingTemplate.receiveAndConvert("order.queue.id",String.class);
System.out.println("已完成短信发送业务,id: " + id);
return id;
}
}
接下来是实现一旦发送消息,立即处理(监听器):
@Component
public class MessageListener {
@JmsListener(destination = "order.queue.id") //监听器,当消息传入服务器之后立马会被消费
@SendTo("order.other.queue.id") //监听消费后再发送到order.other.queue.id这个区域,返回的是当前方法的返回值
public String receive(String id){
System.out.println("已完成短信发送业务,id: " + id);
return id;
}
}
欢迎大家一起来学习,有不足的地方还请指出。
本文介绍了如何在SpringBoot项目中集成ActiveMQ,包括添加依赖、配置连接参数、创建发送和接收消息的服务与监听器。作者分享了代码示例,欢迎读者交流指正。
385

被折叠的 条评论
为什么被折叠?



