专栏首页凯哥Javaspring boot框架学习13-spring boot整合active mq方法2

spring boot框架学习13-spring boot整合active mq方法2

主要从以下几个方面讲解:

mybatis和spring boot整合、redis(单机版)和spring boot整合、redis(集群)和spring boot整合、httpclient和spring boot整合、rabbitMQ/active MQ和spring boot整合。

接下来我们学习:spring boot框架学习13-spring boot整合active mq方法2

欢迎关注凯哥公众号:凯哥Java(kaigejava)

欢迎访问凯哥个人博客:www.kaigejava.com

spring boot整合active MQ方案二与上一篇《spring boot框架学习12-spring boot整合active mq方法1》区别在于:方法1中配置的MQ只能本项目生产者给本项目消费者使用。也就是自给自足的。但是在企业中,很多时候,你的生产者或者是消费者需要给其他项目或服务提供使用的。所以,就有了本篇,可以在不同的项目之间进行处理的。

active mq的下载、maven的jar依赖在此就不在赘述了。可参见上一篇。

一:MQ配置类

@Configuration

public class ActiveMQConfig {

@Bean

public ActiveMQConnectionFactory targetConnectionFactory(){

ActiveMQConnectionFactory targetConnectionFactory = new ActiveMQConnectionFactory();

targetConnectionFactory.setBrokerURL("tcp://127.0.0.1:61616");

targetConnectionFactory.setUserName("admin");

targetConnectionFactory.setPassword("admin");

return targetConnectionFactory;

}

@Bean

public SingleConnectionFactory connectionFactory( PooledConnectionFactory targetConnectionFactory){

SingleConnectionFactory connectionFactory = new SingleConnectionFactory();

connectionFactory.setTargetConnectionFactory(targetConnectionFactory);

return connectionFactory;

}

@Bean

public PooledConnectionFactory pooledConnectionFactory(ActiveMQConnectionFactory targetConnectionFactory){

PooledConnectionFactory pooledConnectionFactory = new PooledConnectionFactory();

pooledConnectionFactory.setConnectionFactory(targetConnectionFactory);

pooledConnectionFactory.setMaxConnections(10);

return pooledConnectionFactory;

}

@Bean

//public JmsTemplate jmsTemplate(SingleConnectionFactory connectionFactory){

public JmsTemplate jmsTemplate(SingleConnectionFactory connectionFactory){

JmsTemplate jmsTemplate = new JmsTemplate();

jmsTemplate.setConnectionFactory(connectionFactory);

return jmsTemplate;

}

}

说明:

如果有用户名密码的,可以在此设置用户名密码。

二:项目结构:

生产者、消费者

测试类:

生产者:

说明:

上图中1:消费者的名称

上图中2的->:使用的是jdk8的特性

完整代码:

@Component

public class PtpProducer {

   @Autowired

   private JmsTemplate jmsQueueTemplate;

   /**

    * 发送原始消息 Message

    */

   public void send(){

       jmsQueueTemplate.send("TestMQConsumerQuenue.java", session -> {

           return session.createTextMessage("我是原始消息");

       });

   }}

消费者:

@Component  

public class TestMQConsumerQuenue {  

//记录成功日志

   @JmsListener(destination = "testMQConsumerQuenue.test")  

   public void test(String text) {

    try {

    System.err.println("消费者准备开始睡觉了。2s");

Thread.sleep(2000);

System.err.println("消费者醒了收到的数据为:"+text);

} catch (InterruptedException e) {

e.printStackTrace();

}

   }  

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • springboot支付项目之springboot集成jpa

    我们遵从MVC三层模式,DAO层设计与开发、Service层设计与开发以及Controller层。

    凯哥Java
  • rabbitMQ精讲系列第十八篇 高级整合应用第一篇

    整合spring AMQP和spring boot及spring cloud整合。以及在整合中需要注意及工作中踩过的坑。如同如下图:

    凯哥Java
  • spring boot 启动的时候required a bean of type 'XXX' not be (二)

    在上一篇《spring boot 启动的时候required a bean of type 'XXX' that could not be》

    凯哥Java
  • 原 spring boot Druid多

    边鹏 [进阶者]
  • Spring Boot REST国际化

    正如你看到:响应会根据请求中传递的“ Accept-Language ”标头的值而有所不同。这样,我们不需要检查每个控制器方法中请求中传递的内容,然后将其进一步...

    lyb-geek
  • DFS练习-HDU1010

    题目来源:HDU1010 DFS的基本原则已经差不多了,但是一些技巧仍然比较难想,所以还是加强练习,然后总结一下。

    Enterprise_
  • 数据结构快速学习--02字符串

    字符串可以说是我们实际工作中使用最多的数据类型了,常见的字符串操作包括链接、取子串、格式化等。这部分内容总体来说比较容易理解,最难的部分要数字符串的模式匹配方法...

    用户1216676
  • 100万年薪只是起步价!跨境AI人才遭疯抢后最终去了哪儿?

    作者 | 张明明,鸽子 本文是《跨境AI人才潮》的第二篇特稿。想要详细了解AI人才话题,请参看:《AI人才缺失催生的“跨境猎头”,人才年薪高达300万,猎头直赚...

    AI科技大本营
  • 小白都能玩的明白的Nmap基础(二)

    Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工 具。它的设计目标是快速地扫描大型网络,当然用它扫描单个...

    天钧
  • 工作两年还是只在几百人的小公司当码农,如何才能进大公司?

    几百人的企业已经算是标准的中型企业了,不能算是小企业了,对于程序员来讲大公司未必就是传说中的圣堂,作为一个技术人关键有一个好的平台发展自己的特点,这种平台不一定...

    程序员互动联盟

扫码关注云+社区

领取腾讯云代金券