0.JMS:java消息服务
1.使用消息中间件的好处:解耦A和B系统,B系统可以异步运行,削锋B系统
2.activemq官网地址:https://activemq.apache.org/activemq-5015009-release
3.linux环境第三方软件包存放目录/opt
4.mq安装查看进程
mq_安装查看进程.png
5.mq启动后页面访问地址:http://IP:8161/admin 账号admin 密码admin
6.pom依赖
mq_pom.png
7.队列-ActivemqProduce
mq_ActivemqProduce.png
队列-ActivemqConsumer
mq_ActivemqConsumer.png
队列-ActivemqConsumerListener
mq_ActivemqConsumerListener.png
注意:如果某一个时刻加入的消费者面对消息队列为空时,消费者加入成功但不会消费消息;
多个消费者公用一个消息队列的时候,消费的方式类似负载均衡,平均分配消息(模拟步骤,先启动两个消费者,然后再启动消费发布者发布6条消息);
队列的消费方式属于1对1的模式,即一条消息只能被一个消费者消费。
8.名字解释
mq_名字解释.png
9.JMS开发基本步骤
mq_JMS开发基本步骤.png
10.Topic-ActivemqConsumerListener
mq_ActivemqConsumerListener-topic.png
Topic-ActivemqProduce
mq_ActivemqProduce_topic.png
注意:topic先启动消费者,再启动生产者,否则生产者在消费者启动前的消息都是无效的,即消费者先订阅topic后才可以收到生产者的消息且生产者和消费者是1对N的关系(都可以收到相同数量和内容的消息)
11.队列和Topic的对照
mq_队列和topic的对比.png
12.JMS组成结构:JMS Provider ---服务器,JMS producer ---生产者,JMS consumer ---消费者,JMS message ---消息
13.JMS message
mq_ActivemqProduce_message.png
mq_ActivemqConsumer_message.png
14.消息持久化
队列:
mq_持久化_队列_生产者.png
mq_持久化_队列_消费者.png
Topic:
mq_持久化_Topic_生产者.png
mq_持久化_Topic_消费者.png
15.事务
mq_事务.png
mq_事务2.png
16.签收
mq_签收.png
注意:在事务性会话中,当一个事务被成功提交则消息被自动签收
在非事务性会话中,消息何时被确认取决于创建会话时的签收模式
网友评论