1
、订阅者(
Subscriber
)开发流程(
TopicListener.java
):
1.1
实现
MessageListener
接口:
在
onMessage()
方法中监听发布者发出的消息队列,并做相应处理。
1.2
创建
Connection
:
根据
url
,
user
和
password
创建一个
jms Connection
。
1.3
创建
Session
:
在
connection
的基础上创建一个
session
,同时设置是否支持事务和
ACKNOWLEDGE
标识。
1.4
创建
Topic
:
创建
2
个
Topic
,
topictest.messages
用于接收发布者发出的消息,
topictest.control
用于向发布者发送消息,实现双方的交互。
1.5
创建
consumer
和
producer
对象:
根据
topictest.messages
创建
consumer
,根据
topictest.control
创建
producer
。
1.6
接收处理消息:
在
onMessage()
方法中,对收到的消息进行处理,可直接简单在本地显示消息,或者根据消息内容不同处理对应的业务逻辑(比如:数据库更新、文件操作等
等),并且可以使用
producer
对象将处理结果返回给发布者。
2
、发布者(
Publisher
)开发流程(
TopicPublisher.java
):
2.1
实
现
MessageListener
接口:
在
onMessage()
方法中接收订阅者的反馈消息。
2.2
创
建
Connection
:
根据
url
,
user
和
password
创建一个
jms
Connection
。
2.3
创
建
Session
:
在
connection
的基础上创建一个
session
,同时设置是否支持事务和
ACKNOWLEDGE
标识。
2.4
创
建
Topic
:
创建
2
个
Topic
,
topictest.messages
用于向订阅者发布消息,
topictest.control
用于接收订阅者反馈的消息。这
2
个
topic
与订阅者开发流程中的
topic
是一一对应的。
2.5
创
建
consumer
和
producer
对象:
根据
topictest.messages
创建
publisher
;
根据
topictest.control
创建
consumer
,同时监听订阅者反馈的消息。
2.6
给
所有订阅者发送消息,并接收反馈消息:
示例代码中,一共重复
10
轮操作。
每轮先向所有订阅者发送
2000
个消息;
然后堵塞线程,开始等待;
最后通过
onMessage()
方法,接收到订阅者反馈的“
REPORT
”类信息后,才
print
反馈信息并解除线程堵塞,进入下一轮。
注:
可
同时运行多个订阅者测试查看此模式效果
分享到:
相关推荐
目录 内存消耗估算 完成下载 完成上传 PoC环境准备 汇入图片 要导入的图像列表。 将LOCAL替换为您自己的本地存储库,即: docker-registry-default.apps.... docker://registry.redhat.io/amq7/amq-broker:7.5 码
Workload-amq:这是为了在ocs上测试amq部署
启用开发人员模式: 未包装的货物 选择amq-extension文件夹 用 显示答案后,单击amq-extension图标以查看歌曲中的统计信息 按下“ New Session按钮以开始新的跟踪会话 移植[0/2] []移植到Firefox []在新Edge上...
<amq:persistenceAdapter > <amq:jdbcPersistenceAdapter dataSource="#oracle-ds"/> </amq:persistenceAdapter> <!-- Oracle DataSource Sample Setup --> ...
NULL 博文链接:https://h-rain.iteye.com/blog/1387640
然后使用amq_scraper.py脚本中保存的CSV文件获取JSON文件。 用法是: amq_scraper.py <sheet> 一些较旧的文件可能包含JSON错误,必须手动更正。 但是,如果您从此存储库下载JSON文件而不是再次抓取它们,则应该...
骆驼-wmq-amq Camel IBM Websphere MQ 到 Active MQ 桥接路由 先决条件 IBM 为安装在 Fuse 上的 MQ 客户端提供了 OSGi jar 文件IBM_MQ_INSTALL_DIR/java/lib/OSGi 运行 AMQ 代理 带有填充属性的 JBOSS_FUSE_INSTALL...
简单的 AMQP 发布/订阅 var amqpFactory = require ( 'node-amqp-container' ) ; var options = { host : '10.0.2.15' , port : 5672 , vhost : '/' , login : 'guest' , password : 'guest' , exchange : { ...
Laravel开发-laravel-amqp 用于laravel和lumen发布和使用消息的AMQP包装器
例子###联系var amq = require ( 'amq' ) ;var connection = amq . createConnection ( { host : 'localhost' , debug : true } , { reconnect : { strategy : 'constant' , initial : 1000 } } ) ;一些简单的...
IMB MQ 报错问题记录
先决条件 必须安装docker 。 如果您使用的是 Mac OS X,请运行: boot2docker stop VBoxManage modifyvm "boot2docker-vm" --natpf1 "stomp,tcp,,... docker run --name amq1 -p=61613:61613 -p=61616:61616 -d -t
Spring-Boot,Camel和EnMasse快速入门本快速入门演示了如何使用Kubernetes或OpenShift将Spring-Boot应用程序连接到EnMasse(MaaS)并在两条骆驼路线之间使用JMS消息传递。 在此示例中,我们将使用两个容器,一个容器...
快速入门使用Spring Boot配置一个小的应用程序,该应用程序包含一个骆驼路由,该路由每5秒触发一次消息,并将消息路由到日志。 建筑 这个例子可以用 mvn clean install 在OpenShift中运行示例 假定: OpenShift平台...
实现基于Spring和非Spring的AMQ代码,两套!
AMQ样例,参考,消息总线 改成多渠道分布处理
本文讲述了php编译安装php-amq扩展的方法。分享给大家供大家参考,具体如下: 用途:这个扩展是用来操作rabbitmq服务端的 一、安装总括 1、编译安装librabbitmq库 这是一个开源c语言的库。用来与rabbitmq进行通信 而...
最新在做ActiveMQ Web端开发时,绕了很多路找到了这个插件,小编在这里就贡献了给爱学习小伙伴用。
该存储库包含一组与 Red Hat AMQ 消息传递套件组件一起使用的示例。 :股票报价应用程序展示了来自浏览器的rhea javascript 客户端、websockets 和 TLS 连接 :简单Hello World的NodeJS应用特色rhea JavaScript...
如果我们开发的基于MQ的应用与MQ服务器不在同一台机器上,那么就必须在MQ应用端安装MQ客户端。下面我们以在Suse Linux 10下安装WebSphere MQ v6.0 Client为例介绍MQ客户端在Linux下的安装和配置步骤。 (1)解压缩...