activemq jms使用
activemq 是 基于 jms 协议的 消息队列
消息 流程:
jsm 的 消息流程鼻尖简单 生产者发送消息到目的地,消费者 监听这个目的地,然后收到消息。 相比 amqp 的 消息流程简单很多。
producer:生产者,产生消息。
consumer:消费者
destination:目的地 jms 定义了两种 目的地,一种是queue 一种是 topic
queue:点对点的 消息队列,一个消息被发送到queue 里面 ,只会被一个消费者消费,并且只会被消费一次。queue 里面消息是持久的。 消费者上线以后可以慢慢消费积压 的消息。
topic: 发布订阅机制。发布到 topic 的消息 ,会被 这个当前topic 上面的每一个 消费者消费。并且topic 的消息不持久,没有在线的消费者永远收不到这条消息了。 类似于 amqp 的 fanout 。
spring boot 集成 的 activemq 消息发送的代码:
@Autowired
private JmsMessagingTemplate jmsTemplate; /**
* 把消息发送给mq
*
* @author ZHANGYUKUN
* @param message
* @throws Exception
*/
public void send(Message message) {
if (StringUtils.isEmpty(message.getDestination())) {
throw new RuntimeException("没有目的地");
} Destination destination = new ActiveMQQueue(message.getDestination());
jmsTemplate.convertAndSend(destination, message );
}
消费者的实现:
@Component
public class UserMessageConsumers { @Autowired
MessageService messageService; @Autowired
UserServiceImpl userService; @JmsListener(destination = "user-service-insert")
public void consume(Message message) {
User user = JSONObject.parseObject( message.getContent() , User.class ); if( userService.queryByUUID( user.getUuid() ) == null ) {
userService.insert( user );
} messageService.ack(message.getUuid());
} }
Maven 依赖:
<!-- mq -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-activemq</artifactId>
</dependency> <!-- mq pool -->
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>activemq-pool</artifactId>
</dependency>
activemq jms使用的更多相关文章
- ActiveMQ JMS 在发邮件中的使用
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久 ...
- 消息中间件--ActiveMQ&JMS消息服务
### 消息中间件 ### ---------- **消息中间件** 1. 消息中间件的概述 2. 消息中间件的应用场景 * 异步处理 * 应用解耦 * 流量削峰 * 消息通信 --------- ...
- 中间件 activeMQ Jms Java Demo
一.什么是ActiveMQ 百度解释: ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provi ...
- ActiveMQ JMS 项目 基于 Maven 搭建 部署
JAVA版本: IntellJ IDEA 版本: IntelliJ IDEA 2017.2Build #IU-172.3317.76, built on July 15, 2017Licensed t ...
- 使用Jmeter创建ActiveMQ JMS POINT TO POINT请求,环境搭建、请求创建、插件安装、监听服务器资源等
转自:http://www.cnblogs.com/qianyiliushang/p/4348584.html 准备工作: 安装JDK,推荐使用1.7以上版本,并设置JAVA_HOME 下载Jmete ...
- 使用Jmeter(三十)针对ActiveMQ JMS POINT TO POINT压力测试(转载)
转载自 http://www.cnblogs.com/yangxia-test 准备工作 针对JMS类型的Sampler,需要额外的jar包(这里用的是apache ActiveMQ,将下载的AMQ ...
- tomcat监听activemq jms配置
当从webservice接收到信息的时候,消息生产者producer立刻把收到的消息放入到jms里面,消费者cusomer这时要设置一个监听,当生产者发送消息时,只要消息被发出来,消费者就会接收到消息 ...
- activeMQ Jms Demo
概述 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经 ...
- ActiveMQ JMS实现消息发送
一.创建配置消息发送接收目的地. ActiveMQ中间件地址 JMS_BROKER_URL=failover://(tcp://192.168.1.231:61616) QUEUE_BUSP_TP_S ...
随机推荐
- Oracle 用户 表 表空间之间的关系和管理
文献地址: https://blog.csdn.net/jmilk/article/details/51599260 https://www.cnblogs.com/roger112/p/768530 ...
- c#继承中的函数调用实例
using System; namespace Test { public class Base { public void Print() { ...
- nodejs环境下配置运行mysql
首先需要在本地运行node环境 必须在本地安装mysql(可以用xampp里面的) 在node环境下引入mysql模块 命令: npm install node-mysql 运用例子(前提条件 ...
- asp.net 后台执行js
1. 用Response.Write方法 代码如下: Response.Write("<script type='text/javascript'>alert("XXX ...
- 微软Power BI 每月功能更新系列——11月Power BI 新功能学习
Power BI Desktop11月产品功能摘要 本月Power BI Desktop 有一个大规模的更新.现在,通常可以使用复合模型在一个模型中将直接查询和导入源组合在一起.UserVoice上的 ...
- 如何使用DAX函数解决动态图表标题
您可能知道,Power BI中的图表(以及许多其他可视化)具有可以设置为任何静态文本的标题.您可以通过选择图表,转到“可视化对象”窗格中的“格式”选项卡,然后更改“标题”部分中的属性(如下所示)来完成 ...
- 当超强台风“山竹”即将冲进南海,Power BI 你怎么看?
这个周末“山竹 ”强势来袭!很多人的目光都在关注暴力水果“山竹”,这个号称70年最强最大风力超17级 台风“山竹”今天就已经在小悦家窗台肆虐咆哮了一天了!不知其他的小伙伴们是不是好好的一个周末就只能被 ...
- [转]谈谈 Bias-Variance Tradeoff
https://liam0205.me/2017/03/25/bias-variance-tradeoff/ 谢谢原作者! 谈谈 Bias-Variance Tradeoff 发表于 2017 年 0 ...
- Ubuntu16.04换源(转)
乌班图换源(ubuntu 16.04换阿里云源为例) 换成国内最快的阿里云源 第一步:备份原来的源文件 cd /etc/apt/ 1 2 然后会显示下面的源文件sources.list 输入命令 su ...
- jvm内存增长问题排查简例
jvm内存增长问题排查 排查个jvm 内存占用持续增加的问题,纪录一下,引以为戒. 运维发现应用jvm内存占用在发布后回落,然后持续增高,,dump后分析一下: 占内存的大部分是这种名字相似的bean ...