前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >spring boot框架学习13-spring boot整合active mq方法2

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

作者头像
凯哥Java
发布2019-06-30 19:48:13
4640
发布2019-06-30 19:48:13
举报
文章被收录于专栏:凯哥Java凯哥Java

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

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();

}

   }  

}

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-12-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档