如何设置Mule发布服务器订阅服务器模型
如何使用ActiveMQ设置Mule发布服务器订阅服务器模型?我一直在网上寻找一个完整的例子,这个例子简单易懂,但我没能做到。我要做的就是向MQ主题发送一个字符串(使用发布服务器),然后从该主题读取消息(使用订阅服务器)。没有什么太复杂的下面的步骤描述了如何将Apache MQ用作Mule发布/子模型的一部分 设置活动MQ •通过Apache下载ActiveMQ。我目前使用的是“apache-activemq-5.2.0”版本 •将下载解压缩到已知位置(例如C:\MQ\apache-activemq-5.2.0) •ACTIVEMQ_HOME的设置环境变量(C:\MQ\apache-ACTIVEMQ-5.2.0\bin\win32) •运行C:\MQ\apache-activemq-5.2.0\bin\win32\InstallService.bat(卸载运行unInstallService.bat) •要验证,请转到控制面板->管理工具->服务并查找ActiveMQ服务 •启动服务(可将其设置为自动启动) •浏览以查看MQ仪表板 =========== 建立Mule出版商如何设置Mule发布服务器订阅服务器模型,mule,activemq,publisher,subscriber,Mule,Activemq,Publisher,Subscriber,如何使用ActiveMQ设置Mule发布服务器订阅服务器模型?我一直在网上寻找一个完整的例子,这个例子简单易懂,但我没能做到。我要做的就是向MQ主题发送一个字符串(使用发布服务器),然后从该主题读取消息(使用订阅服务器)。没有什么太复杂的下面的步骤描述了如何将Apache MQ用作Mule发布/子模型的一部分 设置活动MQ •通过Apache下载ActiveMQ。我目前使用的是“apache-activemq-5.2.0”版本 •将下载解压缩到已知位置(例如C:\MQ\apache-active
- 创建一个Mule项目
- 右键单击项目属性并选择“Java构建路径”
- 选择“库”选项卡并单击“添加外部JAR”
- 浏览到mqjar文件的位置(例如 C:\MQ\apache-activemq-5.2.0\activemq-all-5.2.0.jar)并选择OK以 接受
- 新添加的Jar文件应该在列表中
- 选择“确定”关闭“属性”窗口
- 选择“创建”
- 选择连接器配置-->JMS-->ActiveMQ并确定接受(MQ) 将具有默认设置,该设置在本例中为OK)
- 将端口号设置为空闲端口(例如8075)
- 将“路径”设置为“/pub”
- 将Exchange模式设置为“单向”
- 选择“主题”并为其命名(例如MyLocalTopic)
- 从连接器配置下拉列表中–选择全局连接器 先前创建的活动MQ元素
- 设置事务(如“X事务”)
- 设置动作(如“无”)
<flow name="pubsubFlow1">
<http:listener config-ref="HTTP_Listener_Configuration_8075" path="/pub" doc:name="HTTP_8075"/>
<jms:outbound-endpoint connector-ref="Active_MQ" doc:name="JMS" topic="MyLocalTopic">
<xa-transaction action="NONE"/>
</jms:outbound-endpoint>
设置Mule订户
- 创建一个Mule项目
- 右键单击项目属性并选择“Java构建路径”
- 选择“库”选项卡并单击“添加外部JAR”
- 浏览到mqjar文件的位置(例如 C:\MQ\apache-activemq-5.2.0\activemq-all-5.2.0.jar)并选择OK以 接受
- 新添加的Jar文件应该在列表中
- 选择“确定”关闭“属性”窗口 为项目创建全局元素
- 选择“创建”
- 选择连接器配置-->JMS-->ActiveMQ并确定接受(MQ) 将具有默认设置,该设置在本例中为OK)
- 将Exchange模式设置为“单向”
- 选择“主题”并为其命名(例如MyLocalTopic)
- 从连接器配置下拉列表中–选择全局连接器 先前创建的活动MQ元素
- 设置交易类型(例如“NotTransaction”)
- 设置动作(如“无”)
- 将“记录器”连接器拖到JMS连接器的右侧,然后 配置
- 设置消息,例如“第一个订阅者-来自MQ#[PAYLOAD]的有效负载”
<flow name="pubsub_readqueueFlow">
<jms:inbound-endpoint topic="MyLocalTopic" connector-ref="Active_MQ" doc:name="JMS">
</jms:inbound-endpoint>
<logger message="FIRST SUBSCRIBER - PAYLOAD FROM MQ #[payload]" level="INFO" doc:name="Logger"/>
</flow>
正在运行的应用程序
将消息发布到队列
- 运行发布应用程序
- 使用Soap客户机(如SoapUI)将消息发布到
- 从活动MQ仪表板浏览到 topics()以查看新添加的 信息
- 运行两个订阅应用程序
- 刷新仪表板以查看消费者添加的内容。(参见示例 我的仪表板(如下所示)
- 浏览到应用程序日志的位置(对于我来说,它位于 地址:C:\Program Files\mule-standalone-3.7.0\logs)
- 每个订阅服务器都应该有一个日志文件。内容应该是 看下面