SpringBoot整合ActiveMQ

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;
    }
}

jms的消息模型有两种

  1. 点对点
  2. 发布订阅
    目前使用的是点对点的模型,要想更换,做一个配置pub-sub-domain: true
server:
  port: 80

spring:
  activemq:
    broker-url: tcp://localhost:61616
  jms:
    template:
      default-destination: itheima
    
    pub-sub-domain: true

相关推荐

  1. SpringBoot整合ActiveMQ步骤

    2023-12-07 12:06:05       19 阅读
  2. ActiveMQ 03 整合SpringBoot

    2023-12-07 12:06:05       13 阅读
  3. SpringBoot实用开发(十六)-- SpringBoot整合ActiveMQ

    2023-12-07 12:06:05       21 阅读
  4. springboot 集成 activemq

    2023-12-07 12:06:05       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-07 12:06:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-07 12:06:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-07 12:06:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-07 12:06:05       20 阅读

热门阅读

  1. activeMq

    activeMq

    2023-12-07 12:06:05      36 阅读
  2. C/C++---------------LeetCode第2154. 将找到的值乘以 2

    2023-12-07 12:06:05       42 阅读
  3. Scala--2

    2023-12-07 12:06:05       39 阅读
  4. 产品运营常用的ChatGPT通用提示词模板

    2023-12-07 12:06:05       48 阅读
  5. React 表单组件实现

    2023-12-07 12:06:05       40 阅读
  6. 五花八门客户问题(BUG) - 数据库索引损坏

    2023-12-07 12:06:05       46 阅读
  7. Metasploit的安全防御和逃逸

    2023-12-07 12:06:05       25 阅读
  8. SELinux refpolicy详解(9)

    2023-12-07 12:06:05       55 阅读
  9. Metasploit的漏洞挖掘和利用

    2023-12-07 12:06:05       26 阅读
  10. 详解ES6中的symbol

    2023-12-07 12:06:05       31 阅读
  11. Shopify 开源 WebAssembly 工具链 Ruvy

    2023-12-07 12:06:05       36 阅读
  12. Qt对象树与所有权管理

    2023-12-07 12:06:05       40 阅读