• SpringBoot 简单集成ActiveMQ


    ActiveMQ安装配置步骤见:https://www.cnblogs.com/vincenshen/p/10635362.html

    第一步,pom.xml引入ActiveMQ依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-activemq</artifactId>
    </dependency>

    第二步,application.properties中配置activemq

    spring.activemq.broker-url=tcp://172.16.65.243:61616
    spring.activemq.in-memory=true
    spring.activemq.pool.enabled=false
    spring.activemq.user=admin
    spring.activemq.password=admin

    第三步,Producer类编写

    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.jms.core.JmsMessagingTemplate;
    import org.springframework.scheduling.annotation.Scheduled;
    import org.springframework.stereotype.Component;
    
    import java.util.HashMap;
    import java.util.Map;
    
    
    @Component
    public class Producer {
    
        @Autowired
        private JmsMessagingTemplate jmsMessagingTemplate;
    
    
        @Scheduled(fixedRate = 2000)  // 使用定时任务,每两秒向mq中发送一个消息
        public void sendMsg(){
            Map<String, String> ptpMap = new HashMap<>();
            ptpMap.put("hello", "activeMQ");
            jmsMessagingTemplate.convertAndSend("ptp", ptpMap);
        }
    }

    第四步,Consumer编写

    import org.springframework.jms.annotation.JmsListener;
    import org.springframework.stereotype.Component;
    
    import java.util.Map;
    
    @Component
    public class Consumer {
    
        @JmsListener(destination = "ptp")  // 通过JmsListerner实时获取mq中的消息
        public void readMsg(Map map){
            System.out.println("currentTimeMillis" + System.currentTimeMillis() + "::ptp = [" + map + "]");
        }
    }

    第五步,测试效果

      .   ____          _            __ _ _
     /\ / ___'_ __ _ _(_)_ __  __ _    
    ( ( )\___ | '_ | '_| | '_ / _` |    
     \/  ___)| |_)| | | | | || (_| |  ) ) ) )
      '  |____| .__|_| |_|_| |_\__, | / / / /
     =========|_|==============|___/=/_/_/_/
     :: Spring Boot ::        (v2.1.3.RELEASE)
    
    2019-04-01 14:37:30.686  INFO 71766 --- [           main] c.v.v.VcenterEventApplication            : Starting VcenterEventApplication on shongbing-a01.vmware.com with PID 71766 (/Users/shongbing/Downloads/vcenter_event/target/classes started by shongbing in /Users/shongbing/Downloads/vcenter_event)
    2019-04-01 14:37:30.689  INFO 71766 --- [           main] c.v.v.VcenterEventApplication            : No active profile set, falling back to default profiles: default
    2019-04-01 14:37:31.564  INFO 71766 --- [           main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService 'taskScheduler'
    2019-04-01 14:37:31.755  INFO 71766 --- [           main] c.v.v.VcenterEventApplication            : Started VcenterEventApplication in 1.422 seconds (JVM running for 2.162)
    currentTimeMillis1554100651824::ptp = [{hello=activeMQ}]
    currentTimeMillis1554100651828::ptp = [{hello=activeMQ}]
    currentTimeMillis1554100653755::ptp = [{hello=activeMQ}]
    currentTimeMillis1554100655755::ptp = [{hello=activeMQ}]
    currentTimeMillis1554100657755::ptp = [{hello=activeMQ}]
    currentTimeMillis1554100659757::ptp = [{hello=activeMQ}]
  • 相关阅读:
    ftpserver / FTP model:PORT/PASV/EPRT/EPSV
    windows 环境下搭建electricSearch+kibana
    springBoot2.x整合 logback实现日志记录
    springBoot使用aop添加处理rest请求 打印请求时间 和请求参数
    springCloud 使用feign复制请求头调用其他服务 content-length不一致导致调用失败
    mysql查询重复用户最新的一条数据
    【开源】 开源社区
    【数据库】 SQL 使用注意点
    【数据库】 SQL 常用语句
    【数据结构】 List 简单实现
  • 原文地址:https://www.cnblogs.com/vincenshen/p/10636307.html
Copyright © 2020-2023  润新知