1. 简介
这个例子使用mule连接ActiveMQ,使用JMS发送和接收消息。
2. 例子
下面是JMS发送和接收消息的例子,在控制台显示输出的消息。如下图所示:
图 1
图 2
3. 配置
3.1. 流程的配置
图 3
3.2. jms主题接入的配置
图 4
图 4的参数解释如下:
Parameter | Value |
Display Name | 流程图上显示的名称 |
Basic Settings | Exchange Pattern:默认选择one-way; Queue与Topic根据需要进行选择; |
Connection Configuration | 连接JMS服务器的配置 |
Transaction | JMS事物配置 |
连接JMS服务器的配置如下图所示:
图 5
图 5的参数解释如下:
Parameter | Value |
Name | Oracle_Configuration |
JMS Configuration | Broken URL:连接JMS的URL。 选择特定的版本。 如果需要用户名或者密码的话,填写相应的数据即可连接。 |
4. 整个流程的代码如下所示
<context:property-placeholder location="classpath:mule-app.properties" />
<jms:activemq-connector name="Active_MQ"
specification="1.1" brokerURL="${jms.url}" validateConnections="true"
doc:name="Active_MQ" />
<custom-transformer class="com.adcc.esb.transformers.JmsToXmlTrans"
name="JmsToXmlTrans" />
<flow name="esbFlow1" doc:name="esbFlow1">
<!-- 使用jms主题接入 -->
<jms:inbound-endpoint topic="${message.in}"
connector-ref="Active_MQ" doc:name="JMS.in" />
<!-- 记录接收消息的时间 -->
<logger level="INFO"
message="Message received:#[org.mule.util.DateUtils.getTimeStamp('yyyyMMddHHmmss.SSS')]" />
<!-- 使用自定义转换器生成DOM树 -->
<transformer ref="JmsToXmlTrans" />
<!-- mulexml缺省转换器转换DOM树到xml -->
<mulexml:dom-to-xml-transformer />
<!-- 使用jms主题输出消息 -->
<jms:outbound-endpoint topic="${message.out}"
connector-ref="Active_MQ" doc:name="JMS.out" />
</flow>
|