我已經使用ActiveMQ與JMS做了一個流程,我向隊列發送了一條消息,但由於任何原因,當我試圖從隊列中消費時,獲取消息並通過設置新的有效負載來更改它,它不會更改。我究竟做錯了什麼?爲什麼在使用Mule中的JMS隊列後我沒有獲得更改的有效內容?
基本上我想通過HTTP響應發回的改變有效載荷
這裏是我的代碼:
<jms:activemq-connector name="Active_MQ"
specification="1.1"
brokerURL="tcp://localhost:61616"
validateConnections="true"
doc:name="Active MQ"
persistentDelivery="true"
/>
<flow name="jmsFlow1" doc:name="jmsFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="jms" doc:name="HTTP"/>
<set-payload value="#['This is a message test']" doc:name="Set Payload"/>
<choice doc:name="Choice">
<when expression="#[true]">
<processor-chain>
<logger message="Im here!!" level="INFO" doc:name="Logger"/>
<jms:outbound-endpoint queue="StudioIN" connector-ref="Active_MQ" doc:name="JMS Queue Studio IN" exchange-pattern="request-response"/>
</processor-chain>
</when>
</choice>
<logger message="#[payload]" level="INFO" category="//// RETURNED FROM QUEUE PAYLOAD" doc:name="Logger"/>
</flow>
<flow name="fmsAdapterConsumerFlow1" doc:name="fmsAdapterConsumerFlow1">
<jms:outbound-endpoint queue="StudioIN" connector-ref="Active_MQ" doc:name="JMS StudioIN Consumer" exchange-pattern="request-response"/>
<set-payload value="#[payload + ' returned from queue']" doc:name="Set Payload"/>
</flow>
注:雖然它具有一個字符串的工作,更好地使用一個布爾值:'<當表達式=「#[真]」>' –
@DavidDossot感謝大衛。 。更新的騾子XML,所以你可以看到,香港專業教育學院應用更改:(但不工作在這裏不知道爲什麼 – msqar
您有一個複製/粘貼問題:「fmsAdapterConsumerFlow1」應該開始在入站端點不是一個出站端點:) –