Mule 队列是否可以在发布-订阅模式下直接使用主题
队列是否可以在发布-订阅模式下直接使用某个主题。是否有人可以提供此方面的指针。我使用WebSphereMQ作为JMS代理。设置此代理的Mule配置应该是什么Mule 队列是否可以在发布-订阅模式下直接使用主题,mule,Mule,队列是否可以在发布-订阅模式下直接使用某个主题。是否有人可以提供此方面的指针。我使用WebSphereMQ作为JMS代理。设置此代理的Mule配置应该是什么 <!-- Publisher Flow --> <flow name="PublisherFlow" doc:name="PublisherFlow"> <file:inbound-endpoint path="c:\retryin" responseTimeout="10000" doc:name="
<!-- Publisher Flow -->
<flow name="PublisherFlow" doc:name="PublisherFlow">
<file:inbound-endpoint path="c:\retryin" responseTimeout="10000" doc:name="File"/>
<object-to-string-transformer doc:name="Object to String"/>
<jms:outbound-endpoint topic="testTopic10" doc:name="JMS" connector-ref="WMQ_Pub_Topic_Connector"/>
</flow>
<!-- Transfer from topic to Queue -->
<flow name="SubscriberFlowQueueTransfer" doc:name="SubscriberFlowQueueTransfer">
<jms:inbound-endpoint topic="testTopic10" connector-ref="WMQ_Pub_Topic_Connector" doc:name="JMS">
</jms:inbound-endpoint>
<logger message="Entered Subscriber Queue transfer" level="INFO" doc:name="Logger"/>
<jms:outbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
</jms:outbound-endpoint>
</flow>
<!-- Subscriber Flow -->
<flow name="SubscriberFlowQueue" doc:name="SubscriberFlowQueue">
<jms:inbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
<jms:transaction action="ALWAYS_BEGIN" timeout="3000"/>
</jms:inbound-endpoint>
<logger message="Entered subscriber flow" level="INFO" doc:name="Logger"/>
<ftp:outbound-endpoint host="XXX.XXX.XX.XX" port="21" path="path" user="test" password="test123" responseTimeout="10000" doc:name="FTP"/>
<rollback-exception-strategy doc:name="Rollback Exception Strategy" enableNotifications="false"/>
</flow>
骡子配置
<!-- Publisher Flow -->
<flow name="PublisherFlow" doc:name="PublisherFlow">
<file:inbound-endpoint path="c:\retryin" responseTimeout="10000" doc:name="File"/>
<object-to-string-transformer doc:name="Object to String"/>
<jms:outbound-endpoint topic="testTopic10" doc:name="JMS" connector-ref="WMQ_Pub_Topic_Connector"/>
</flow>
<!-- Transfer from topic to Queue -->
<flow name="SubscriberFlowQueueTransfer" doc:name="SubscriberFlowQueueTransfer">
<jms:inbound-endpoint topic="testTopic10" connector-ref="WMQ_Pub_Topic_Connector" doc:name="JMS">
</jms:inbound-endpoint>
<logger message="Entered Subscriber Queue transfer" level="INFO" doc:name="Logger"/>
<jms:outbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
</jms:outbound-endpoint>
</flow>
<!-- Subscriber Flow -->
<flow name="SubscriberFlowQueue" doc:name="SubscriberFlowQueue">
<jms:inbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
<jms:transaction action="ALWAYS_BEGIN" timeout="3000"/>
</jms:inbound-endpoint>
<logger message="Entered subscriber flow" level="INFO" doc:name="Logger"/>
<ftp:outbound-endpoint host="XXX.XXX.XX.XX" port="21" path="path" user="test" password="test123" responseTimeout="10000" doc:name="FTP"/>
<rollback-exception-strategy doc:name="Rollback Exception Strategy" enableNotifications="false"/>
</flow>
testTopic10是主题名称
testQueue10是队列名称
<!-- Publisher Flow -->
<flow name="PublisherFlow" doc:name="PublisherFlow">
<file:inbound-endpoint path="c:\retryin" responseTimeout="10000" doc:name="File"/>
<object-to-string-transformer doc:name="Object to String"/>
<jms:outbound-endpoint topic="testTopic10" doc:name="JMS" connector-ref="WMQ_Pub_Topic_Connector"/>
</flow>
<!-- Transfer from topic to Queue -->
<flow name="SubscriberFlowQueueTransfer" doc:name="SubscriberFlowQueueTransfer">
<jms:inbound-endpoint topic="testTopic10" connector-ref="WMQ_Pub_Topic_Connector" doc:name="JMS">
</jms:inbound-endpoint>
<logger message="Entered Subscriber Queue transfer" level="INFO" doc:name="Logger"/>
<jms:outbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
</jms:outbound-endpoint>
</flow>
<!-- Subscriber Flow -->
<flow name="SubscriberFlowQueue" doc:name="SubscriberFlowQueue">
<jms:inbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
<jms:transaction action="ALWAYS_BEGIN" timeout="3000"/>
</jms:inbound-endpoint>
<logger message="Entered subscriber flow" level="INFO" doc:name="Logger"/>
<ftp:outbound-endpoint host="XXX.XXX.XX.XX" port="21" path="path" user="test" password="test123" responseTimeout="10000" doc:name="FTP"/>
<rollback-exception-strategy doc:name="Rollback Exception Strategy" enableNotifications="false"/>
</flow>
<!-- Publisher Flow -->
<flow name="PublisherFlow" doc:name="PublisherFlow">
<file:inbound-endpoint path="c:\retryin" responseTimeout="10000" doc:name="File"/>
<object-to-string-transformer doc:name="Object to String"/>
<jms:outbound-endpoint topic="testTopic10" doc:name="JMS" connector-ref="WMQ_Pub_Topic_Connector"/>
</flow>
<!-- Transfer from topic to Queue -->
<flow name="SubscriberFlowQueueTransfer" doc:name="SubscriberFlowQueueTransfer">
<jms:inbound-endpoint topic="testTopic10" connector-ref="WMQ_Pub_Topic_Connector" doc:name="JMS">
</jms:inbound-endpoint>
<logger message="Entered Subscriber Queue transfer" level="INFO" doc:name="Logger"/>
<jms:outbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
</jms:outbound-endpoint>
</flow>
<!-- Subscriber Flow -->
<flow name="SubscriberFlowQueue" doc:name="SubscriberFlowQueue">
<jms:inbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
<jms:transaction action="ALWAYS_BEGIN" timeout="3000"/>
</jms:inbound-endpoint>
<logger message="Entered subscriber flow" level="INFO" doc:name="Logger"/>
<ftp:outbound-endpoint host="XXX.XXX.XX.XX" port="21" path="path" user="test" password="test123" responseTimeout="10000" doc:name="FTP"/>
<rollback-exception-strategy doc:name="Rollback Exception Strategy" enableNotifications="false"/>
</flow>
连接器配置
<!-- Publisher Flow -->
<flow name="PublisherFlow" doc:name="PublisherFlow">
<file:inbound-endpoint path="c:\retryin" responseTimeout="10000" doc:name="File"/>
<object-to-string-transformer doc:name="Object to String"/>
<jms:outbound-endpoint topic="testTopic10" doc:name="JMS" connector-ref="WMQ_Pub_Topic_Connector"/>
</flow>
<!-- Transfer from topic to Queue -->
<flow name="SubscriberFlowQueueTransfer" doc:name="SubscriberFlowQueueTransfer">
<jms:inbound-endpoint topic="testTopic10" connector-ref="WMQ_Pub_Topic_Connector" doc:name="JMS">
</jms:inbound-endpoint>
<logger message="Entered Subscriber Queue transfer" level="INFO" doc:name="Logger"/>
<jms:outbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
</jms:outbound-endpoint>
</flow>
<!-- Subscriber Flow -->
<flow name="SubscriberFlowQueue" doc:name="SubscriberFlowQueue">
<jms:inbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
<jms:transaction action="ALWAYS_BEGIN" timeout="3000"/>
</jms:inbound-endpoint>
<logger message="Entered subscriber flow" level="INFO" doc:name="Logger"/>
<ftp:outbound-endpoint host="XXX.XXX.XX.XX" port="21" path="path" user="test" password="test123" responseTimeout="10000" doc:name="FTP"/>
<rollback-exception-strategy doc:name="Rollback Exception Strategy" enableNotifications="false"/>
</flow>
这很简单,你可以看一下,然后。但基本上你需要:
<!-- Publisher Flow -->
<flow name="PublisherFlow" doc:name="PublisherFlow">
<file:inbound-endpoint path="c:\retryin" responseTimeout="10000" doc:name="File"/>
<object-to-string-transformer doc:name="Object to String"/>
<jms:outbound-endpoint topic="testTopic10" doc:name="JMS" connector-ref="WMQ_Pub_Topic_Connector"/>
</flow>
<!-- Transfer from topic to Queue -->
<flow name="SubscriberFlowQueueTransfer" doc:name="SubscriberFlowQueueTransfer">
<jms:inbound-endpoint topic="testTopic10" connector-ref="WMQ_Pub_Topic_Connector" doc:name="JMS">
</jms:inbound-endpoint>
<logger message="Entered Subscriber Queue transfer" level="INFO" doc:name="Logger"/>
<jms:outbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
</jms:outbound-endpoint>
</flow>
<!-- Subscriber Flow -->
<flow name="SubscriberFlowQueue" doc:name="SubscriberFlowQueue">
<jms:inbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
<jms:transaction action="ALWAYS_BEGIN" timeout="3000"/>
</jms:inbound-endpoint>
<logger message="Entered subscriber flow" level="INFO" doc:name="Logger"/>
<ftp:outbound-endpoint host="XXX.XXX.XX.XX" port="21" path="path" user="test" password="test123" responseTimeout="10000" doc:name="FTP"/>
<rollback-exception-strategy doc:name="Rollback Exception Strategy" enableNotifications="false"/>
</flow>
配置WMQ连接器
<!-- Publisher Flow -->
<flow name="PublisherFlow" doc:name="PublisherFlow">
<file:inbound-endpoint path="c:\retryin" responseTimeout="10000" doc:name="File"/>
<object-to-string-transformer doc:name="Object to String"/>
<jms:outbound-endpoint topic="testTopic10" doc:name="JMS" connector-ref="WMQ_Pub_Topic_Connector"/>
</flow>
<!-- Transfer from topic to Queue -->
<flow name="SubscriberFlowQueueTransfer" doc:name="SubscriberFlowQueueTransfer">
<jms:inbound-endpoint topic="testTopic10" connector-ref="WMQ_Pub_Topic_Connector" doc:name="JMS">
</jms:inbound-endpoint>
<logger message="Entered Subscriber Queue transfer" level="INFO" doc:name="Logger"/>
<jms:outbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
</jms:outbound-endpoint>
</flow>
<!-- Subscriber Flow -->
<flow name="SubscriberFlowQueue" doc:name="SubscriberFlowQueue">
<jms:inbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
<jms:transaction action="ALWAYS_BEGIN" timeout="3000"/>
</jms:inbound-endpoint>
<logger message="Entered subscriber flow" level="INFO" doc:name="Logger"/>
<ftp:outbound-endpoint host="XXX.XXX.XX.XX" port="21" path="path" user="test" password="test123" responseTimeout="10000" doc:name="FTP"/>
<rollback-exception-strategy doc:name="Rollback Exception Strategy" enableNotifications="false"/>
</flow>
<wmq:connector name="wmqConnector" hostName="${wmq.host}" port="${wmq.port}" queueManager="${wmq.queue.manager}" username="${wmq.username}" password="${wmq.password}" />
创建具有端点的流
<!-- Publisher Flow -->
<flow name="PublisherFlow" doc:name="PublisherFlow">
<file:inbound-endpoint path="c:\retryin" responseTimeout="10000" doc:name="File"/>
<object-to-string-transformer doc:name="Object to String"/>
<jms:outbound-endpoint topic="testTopic10" doc:name="JMS" connector-ref="WMQ_Pub_Topic_Connector"/>
</flow>
<!-- Transfer from topic to Queue -->
<flow name="SubscriberFlowQueueTransfer" doc:name="SubscriberFlowQueueTransfer">
<jms:inbound-endpoint topic="testTopic10" connector-ref="WMQ_Pub_Topic_Connector" doc:name="JMS">
</jms:inbound-endpoint>
<logger message="Entered Subscriber Queue transfer" level="INFO" doc:name="Logger"/>
<jms:outbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
</jms:outbound-endpoint>
</flow>
<!-- Subscriber Flow -->
<flow name="SubscriberFlowQueue" doc:name="SubscriberFlowQueue">
<jms:inbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
<jms:transaction action="ALWAYS_BEGIN" timeout="3000"/>
</jms:inbound-endpoint>
<logger message="Entered subscriber flow" level="INFO" doc:name="Logger"/>
<ftp:outbound-endpoint host="XXX.XXX.XX.XX" port="21" path="path" user="test" password="test123" responseTimeout="10000" doc:name="FTP"/>
<rollback-exception-strategy doc:name="Rollback Exception Strategy" enableNotifications="false"/>
</flow>
<flow name="MessageProcessor">
<wmq:inbound-endpoint connector-ref="wmqConnector" queue="topic.in">
...
</flow>
将MQ JAR添加到MULE_HOME/lib/user
<!-- Publisher Flow -->
<flow name="PublisherFlow" doc:name="PublisherFlow">
<file:inbound-endpoint path="c:\retryin" responseTimeout="10000" doc:name="File"/>
<object-to-string-transformer doc:name="Object to String"/>
<jms:outbound-endpoint topic="testTopic10" doc:name="JMS" connector-ref="WMQ_Pub_Topic_Connector"/>
</flow>
<!-- Transfer from topic to Queue -->
<flow name="SubscriberFlowQueueTransfer" doc:name="SubscriberFlowQueueTransfer">
<jms:inbound-endpoint topic="testTopic10" connector-ref="WMQ_Pub_Topic_Connector" doc:name="JMS">
</jms:inbound-endpoint>
<logger message="Entered Subscriber Queue transfer" level="INFO" doc:name="Logger"/>
<jms:outbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
</jms:outbound-endpoint>
</flow>
<!-- Subscriber Flow -->
<flow name="SubscriberFlowQueue" doc:name="SubscriberFlowQueue">
<jms:inbound-endpoint queue="testQueue10" connector-ref="WMQ_Sub_Queue_Connector" doc:name="JMS">
<jms:transaction action="ALWAYS_BEGIN" timeout="3000"/>
</jms:inbound-endpoint>
<logger message="Entered subscriber flow" level="INFO" doc:name="Logger"/>
<ftp:outbound-endpoint host="XXX.XXX.XX.XX" port="21" path="path" user="test" password="test123" responseTimeout="10000" doc:name="FTP"/>
<rollback-exception-strategy doc:name="Rollback Exception Strategy" enableNotifications="false"/>
</flow>
com.ibm.mq.jar
com.ibm.mqetclient.jar(如果使用远程XA事务)
com.ibm.mq.jmqi.jar
com.ibm.mqjms.jar
dhbcore.jar
我无法恰当地解释。发布者将消息发送到消息主题。订阅者是一个消息队列,它直接使用来自主题的消息。我已经修改了前面的问题,添加了mule配置。通过添加从主题到队列的配置传输,我能够实现这一点。请参考上面的配置。如果没有这个步骤,队列是否可以直接从主题中使用消息?您是否可以将第一个流中的消息直接放到主题中?别名行吗?桥能用吗?href=