Activemq Jms 简单示例


简介

    简单的 Activemp JMS 示例代码

activemq 运行

    简单使用docker启动一个:

docker run -dit --name mq -p 11616:61616 -p 8161:8161 rmohr/activemq

maven依赖配置

    依赖大致如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.1</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example.jms.activemq</groupId><artifactId>jms-activemp</artifactId><version>0.0.1-SNAPSHOT</version><name>jms-activemp</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-activemq</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

配置类编写

    配置activemq相关连接,大致如下:

@Configuration
public class JmsConfig {private final String BROKER_URL = "tcp://localhost:11616";private final String broker_username = "admin";private final String broker_password = "admin";@Beanpublic ActiveMQConnectionFactory connectionFactory() {ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();connectionFactory.setBrokerURL(BROKER_URL);connectionFactory.setUserName(broker_username);connectionFactory.setPassword(broker_password);return connectionFactory;}@Beanpublic JmsTemplate jmsTemplate() {JmsTemplate template = new JmsTemplate();template.setConnectionFactory(connectionFactory());return template;}@Beanpublic DefaultJmsListenerContainerFactory jmsListenerContainerFactory() {DefaultJmsListenerContainerFactory factory = new DefaultJmsListenerContainerFactory();factory.setConnectionFactory(connectionFactory());factory.setConcurrency("1-1");return factory;}
}

消费监听

    配置Activemq的监听消费,监听函数有返回值的请参考后面的链接

@Component
public class JmsConsumer {@JmsListener(destination = "activeTest")public void receiveMessage(final Map message) {System.out.println(message.toString());}
}

生产者

    发送消息到activemq

@Component
public class JmsProducer {@Autowiredprivate JmsTemplate jmsTemplate;public void sendMessage(final String topic, final String message) {Map map = new Gson().fromJson(message, Map.class);jmsTemplate.convertAndSend(topic, map);}
}

测试运行

    在主函数发送

@SpringBootApplication
@EnableJms
@Slf4j
public class JmsActivempApplication implements ApplicationRunner {@Autowiredprivate JmsProducer producer;public static void main(String[] args) {SpringApplication.run(JmsActivempApplication.class, args);}@Overridepublic void run(ApplicationArguments args) {String topic = "activeTest";Map<String, String> message = new HashMap<>(1);message.put("test", "test");log.info("send message to topic " + topic + " :: " + message);producer.sendMessage(topic, message);}
}

参考链接

  • Spring Boot ActiveMQ Support

Activemq Jms 简单示例相关推荐

  1. Activemq MQTT 简单消息推送示例

    Activemq MQTT 简单消息推送示例 简介     简单使用 MQTT 连接 Activemq 进行消息推送的示例代码 编写详情 环境准备     使用docker启动Activemq,查看M ...

  2. ActiveMQ的简单使用

    转:http://wosyingjun.iteye.com/blog/2314681 ActiveMQ的简单使用 ActiveMQ是一种开源的,实现了JMS规范的,面向消息(MOM)的中间件,为应用程 ...

  3. python文本处理实例_Python 文件处理的简单示例

    这篇文章主要为大家详细介绍了Python 文件处理的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 相关的AP ...

  4. python获取mac、计算机id_python 获取本机IP、mac地址、计算机名的简单示例

    这篇文章主要为大家详细介绍了python 获取本机IP.mac地址.计算机名的简单示例,具有一定的参考价值,可以用来参考一下. 对python获取本机IP.mac地址.计算机名感兴趣的小伙伴,下面一起 ...

  5. python简单单元测试示范卷_Python 单元测试的简单示例

    这篇文章主要为大家详细介绍了Python 单元测试的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 以前我是不 ...

  6. python二分法求解_Python使用二分法求平方根的简单示例

    这篇文章主要为大家详细介绍了Python使用二分法求平方根的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 使 ...

  7. Unity 简单示例代码和向导/Unity Aplication Block

    Unity 简单示例代码和向导 关于Unity 的说明和下载地址,请访问[微软控制反转和依赖注入容器Unity 1.0发布] http://forum.entlib.com/Default.aspx? ...

  8. php定时刷新token,PHP 定时任务获取微信access_token的简单示例

    搜索热词 感兴趣PHP 定时任务获取微信access_token的简单示例的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧. 最近开发微信公众平台,公众号调用各接口时都需使用access_ ...

  9. python 搭建的http 动态服务器_Python 创建HTTP服务器的简单示例

    这篇文章主要为大家详细介绍了Python 创建HTTP服务器的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...

最新文章

  1. PAT甲级1113 Integer Set Partition:[C++题解]贪心
  2. http://blog.csdn.net/itplus/article/details/10088625
  3. 禁用Zuul的过滤器
  4. Xilinx下载方式(具体可以参考配置MCS文件时右下角help调出的doc)
  5. 往ABAP gateway system上和Cloud Foundry上部署HTML5应用
  6. 前端学习(3097):vue+element今日头条管理-回顾
  7. [小技巧][Java]Arrays.fill() 初始化 二维数组
  8. 【POJ - 2485 】Highways (最小生成树,Prim算法,瓶颈生成树)
  9. 图论 —— 图的连通性 —— Tarjan 求割点与桥
  10. js跨域的各种方法总结。
  11. .Net Core WebApi集成JWT实现身份认证
  12. CentOS安装Nvidia驱动和CUDA
  13. Spring中的bean是否是线程安全的
  14. 一种应用于GPS反欺骗的基于MLE的RAIM改进方法
  15. java 手机号码归属地_Java获取手机号码归属地
  16. Mac苹果电脑怎么调整磁盘区域的大小
  17. 手机mtkcdc端口如何开启_MTK手机连接电脑说明书
  18. 操作系统进程调度实验
  19. 大小写字母格式(26个大小写字母格式表)
  20. img 加载 svg占位符_SVG组件可创建占位符加载,例如Facebook卡加载

热门文章

  1. Leetcode: Binary Tree Inorder Traversal
  2. 解决log4j:WARN Error initializing output writer. log4j:WARN Unsupported encoding?的问题
  3. 使用app-inspector时报错connect ECONNREFUSED 127.0.0.1:8001的解决方案
  4. 【报告分享】2021开放数字资产价值报告:数字化孕育新的发展动能.pdf(附下载链接)...
  5. 【报告分享】未来教育的技术空间研究报告.pdf(附下载链接)
  6. 【回顾】推荐系统的十二大评价指标总结
  7. chartxy 柱状图_关于Chart柱状图的使用,有问题
  8. 遍历列表python_python中列表的遍历
  9. exls导入数据库 php_建站程序推荐:开源免费的PHP在线模拟考试系统PHPEMS可商用...
  10. 吴恩达深度学习之三《结构化机器学习项目》学习笔记