本文介绍: 监听器收到消息后,不仅可以消费消息,还可以将当前方法的返回值,在转发给下一个消息队列。消息怎么会手工点击消费呢,哈哈哈,肯定是收到消息赶紧处理,必须交给机器处理啦!所以改造一下我们的监听器。jms的消息模型有两种。
SpringBoot整合ActiveMQ
下载与安装
https://activemq.apache.org/activemq-5016003-release
下载后解压即可
SpringBoot整合ActiveMQ
导坐标
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency>
改配置,默认的保存位置
spring:
activemq:
broker-url: tcp://localhost:61616
jms:
template:
default-destination: itheima
生产与消费消息
@Service
public class MessageServiceActivemqImpl 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")
public void reveive(String id){
System.out.println("已完成短信发送业务,id:"+id);
}
}
监听器收到消息后,不仅可以消费消息,还可以将当前方法的返回值,在转发给下一个消息队列。
所以改造一下我们的监听器
监听器转发消息:流程性业务消息消费完转入下一个消息队列
@Component
public class MessageListener {
@JmsListener(destination = "order.queue.id")
@SendTo("order.other.queue.id")
public String reveive(String id){
System.out.println("已完成短信发送业务,id:"+id);
return "new:" + id;
}
}
server:
port: 80
spring:
activemq:
broker-url: tcp://localhost:61616
jms:
template:
default-destination: itheima
pub-sub-domain: true
原文地址:https://blog.csdn.net/shall_zhao/article/details/134755155
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_32250.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。