gradle+springBoot2.2集合ActiveMq

springBoot集成AcitiveMq的时候,由于springBoot的版本不同,所有会出现不同的问题。

当我们在启动连接池的时候有的时候会出现:启动项目会报错,提示JmsMessagingTemplate无法注入、

这个时候,你可以参考:https://blog.csdn.net/eumenides_/article/details/91850332  

可能是你引入jar包的问题。

我们以springBoot2.2为例

第一步:引入jar包。

compile('org.springframework.boot:spring-boot-starter-activemq')
compile group: 'org.messaginghub', name: 'pooled-jms', version: '1.1.0'

在这个地方一定要切记:

 不能再引入springBoot的时候,把geronimo的包去除了。因为ActiveMq需要这个包。下面的要注解掉。

config.exclude group: "org.apache.geronimo.specs"
config.exclude group: "com.google.code.findbugs"

第二步:在代码中引用mq

在启动类里添加:

@EnableJms

所以接下来,在需要的controller层,引入redis

 /**
     * 该类继承JmsTemplate,封装好了许多方法,更加便捷
     */
    @Autowired
    private JmsMessagingTemplate jmsTemplate;

    
    /**
        将信息添加到MQ里。
      */
    @ApiOperation(value = "生成MessageQueue",notes = "生成MessageQueue",httpMethod = "GET")
    @RequestMapping(value = "/test",method = RequestMethod.GET)
    public String test(){
        Map msgMap = new HashMap();
        msgMap.put("phone", "123");
        msgMap.put("code","122");
        //创建mq队列
        Destination destination = new ActiveMQQueue("zhm");
        //发送消息
        jmsTemplate.convertAndSend(destination, JsonUtil.toJson(msgMap));
        return "Welcome to reactive world ~";
    }
     /**
     * 收到MQ,并且对其进行处理
     * @param msg
     */
    @JmsListener(destination = "zhm")
    public void consumptionCheckGoodsInfo1(String msg) {
        System.out.println("msg====>"+msg);
    }
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

发布了80 篇原创文章 · 获赞 15 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章