zoukankan      html  css  js  c++  java
  • 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);

    }

  • 相关阅读:
    0508---字符串练习题
    0506--习题
    0503---练习题 punctuation isdigit() strip() upper()
    0505---练习题
    0504---习题str.swapcase() str. capitalize() str.title()
    0429---每日习题 菲薄纳西数列 正则ip匹配
    习题之---文件操作
    NOIP 模拟 $13; ext{工业题}$
    NOIP 模拟 $12; ext{简单的填数}$
    NOIP 模拟 $12; ext{简单的玄学}$
  • 原文地址:https://www.cnblogs.com/hxun/p/11433469.html
Copyright © 2011-2022 走看看