• Spring Boot与ActiveMQ整合


     Spring BootActiveMQ整合

    1使用内嵌服务

    1)在pom.xml中引入ActiveMQ起步依赖

    <dependency>

        <groupId>org.springframework.boot</groupId>

        <artifactId>spring-boot-starter-activemq</artifactId>

    </dependency>

    2)创建消息生产者

    /**

     * 消息生产者

     * @author Administrator

     */

    @RestController

    public class QueueController {

    @Autowired

    private JmsMessagingTemplate jmsMessagingTemplate;

    @RequestMapping("/send")

    public void send(String text){

    jmsMessagingTemplate.convertAndSend("itcast", text);

    }

    }

    3)创建消息消费者

    @Component

    public class Consumer {

    @JmsListener(destination="itcast")

    public void readMessage(String text){

    System.out.println("接收到消息:"+text);

    }

    }

    测试:启动服务后,在浏览器执行 

    http://localhost:8088/send.do?text=aaaaa

    即可看到控制台输出消息提示。Spring Boot内置了ActiveMQ的服务,所以我们不用单独启动也可以执行应用程序。

    2使用外部服务

    src/main/resources下的application.properties增加配置, 指定ActiveMQ的地址

    spring.activemq.broker-url=tcp://192.168.25.135:61616

    运行后,会在activeMQ中看到发送的queue,如下图:

     

    3发送Map信息

    1)修改QueueController.java

    @RequestMapping("/sendmap")

    public void sendMap(){

    Map map=new HashMap<>();

    map.put("mobile", "13900001111");

    map.put("content", "恭喜获得10元代金券");

    jmsMessagingTemplate.convertAndSend("itcast_map",map);

    }

    2)修改Consumer.java

    @JmsListener(destination="itcast_map")

    public void readMap(Map map){

    System.out.println(map);

    }

  • 相关阅读:
    python 单例模式
    JAVA基础知识总结
    java环境配置
    VScode输出中文乱码的解决方法------测试过可以用
    centos7 单独安装pip
    pyqt5信号与槽
    桌面程序显示到前台
    下载哔哩哔哩视频
    pyqt5 designer安装步骤
    树莓派配置静态wifi地址
  • 原文地址:https://www.cnblogs.com/hxun/p/11433469.html
Copyright © 2020-2023  润新知