Activemq Jms 简单示例
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 简单示例相关推荐
- Activemq MQTT 简单消息推送示例
Activemq MQTT 简单消息推送示例 简介 简单使用 MQTT 连接 Activemq 进行消息推送的示例代码 编写详情 环境准备 使用docker启动Activemq,查看M ...
- ActiveMQ的简单使用
转:http://wosyingjun.iteye.com/blog/2314681 ActiveMQ的简单使用 ActiveMQ是一种开源的,实现了JMS规范的,面向消息(MOM)的中间件,为应用程 ...
- python文本处理实例_Python 文件处理的简单示例
这篇文章主要为大家详细介绍了Python 文件处理的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 相关的AP ...
- python获取mac、计算机id_python 获取本机IP、mac地址、计算机名的简单示例
这篇文章主要为大家详细介绍了python 获取本机IP.mac地址.计算机名的简单示例,具有一定的参考价值,可以用来参考一下. 对python获取本机IP.mac地址.计算机名感兴趣的小伙伴,下面一起 ...
- python简单单元测试示范卷_Python 单元测试的简单示例
这篇文章主要为大家详细介绍了Python 单元测试的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 以前我是不 ...
- python二分法求解_Python使用二分法求平方根的简单示例
这篇文章主要为大家详细介绍了Python使用二分法求平方根的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 使 ...
- Unity 简单示例代码和向导/Unity Aplication Block
Unity 简单示例代码和向导 关于Unity 的说明和下载地址,请访问[微软控制反转和依赖注入容器Unity 1.0发布] http://forum.entlib.com/Default.aspx? ...
- php定时刷新token,PHP 定时任务获取微信access_token的简单示例
搜索热词 感兴趣PHP 定时任务获取微信access_token的简单示例的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧. 最近开发微信公众平台,公众号调用各接口时都需使用access_ ...
- python 搭建的http 动态服务器_Python 创建HTTP服务器的简单示例
这篇文章主要为大家详细介绍了Python 创建HTTP服务器的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...
最新文章
- PAT甲级1113 Integer Set Partition:[C++题解]贪心
- http://blog.csdn.net/itplus/article/details/10088625
- 禁用Zuul的过滤器
- Xilinx下载方式(具体可以参考配置MCS文件时右下角help调出的doc)
- 往ABAP gateway system上和Cloud Foundry上部署HTML5应用
- 前端学习(3097):vue+element今日头条管理-回顾
- [小技巧][Java]Arrays.fill() 初始化 二维数组
- 【POJ - 2485 】Highways (最小生成树,Prim算法,瓶颈生成树)
- 图论 —— 图的连通性 —— Tarjan 求割点与桥
- js跨域的各种方法总结。
- .Net Core WebApi集成JWT实现身份认证
- CentOS安装Nvidia驱动和CUDA
- Spring中的bean是否是线程安全的
- 一种应用于GPS反欺骗的基于MLE的RAIM改进方法
- java 手机号码归属地_Java获取手机号码归属地
- Mac苹果电脑怎么调整磁盘区域的大小
- 手机mtkcdc端口如何开启_MTK手机连接电脑说明书
- 操作系统进程调度实验
- 大小写字母格式(26个大小写字母格式表)
- img 加载 svg占位符_SVG组件可创建占位符加载,例如Facebook卡加载
热门文章
- Leetcode: Binary Tree Inorder Traversal
- 解决log4j:WARN Error initializing output writer. log4j:WARN Unsupported encoding?的问题
- 使用app-inspector时报错connect ECONNREFUSED 127.0.0.1:8001的解决方案
- 【报告分享】2021开放数字资产价值报告:数字化孕育新的发展动能.pdf(附下载链接)...
- 【报告分享】未来教育的技术空间研究报告.pdf(附下载链接)
- 【回顾】推荐系统的十二大评价指标总结
- chartxy 柱状图_关于Chart柱状图的使用,有问题
- 遍历列表python_python中列表的遍历
- exls导入数据库 php_建站程序推荐:开源免费的PHP在线模拟考试系统PHPEMS可商用...
- 吴恩达深度学习之三《结构化机器学习项目》学习笔记