1
我有一個服務正在隊列上偵聽,我想將消息轉發給完全不同的代理。這在WSO2 ESB中是否可行,如果是這樣的話,該配置將如何完成?我嘗試使用其他代理的傳輸url指定端點,但這不起作用...WSO2 ESB可以在JMS代理之間發送JMS消息嗎?
我有一個服務正在隊列上偵聽,我想將消息轉發給完全不同的代理。這在WSO2 ESB中是否可行,如果是這樣的話,該配置將如何完成?我嘗試使用其他代理的傳輸url指定端點,但這不起作用...WSO2 ESB可以在JMS代理之間發送JMS消息嗎?
以下是我用來從JMS隊列中選擇併發布到另一個隊列的WSO2 ESB代理服務配置(在ActiveMQ JMS提供者):
<proxy xmlns="http://ws.apache.org/ns/synapse" name="JMS_to_JMS_proxy_service" transports="jms" statistics="disable" trace="disable" startOnLoad="true">
<target>
<inSequence>
<log level="full" separator="," />
<property name="OUT_ONLY" value="true" scope="default" type="STRING" />
<send>
<endpoint>
<address uri="jms:/Destination_Queue_Name?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://Your_Host:61616&transport.jms.DestinationType=queue" trace="disable">
<timeout>
<duration>30000</duration>
<responseAction>fault</responseAction>
</timeout>
<suspendOnFailure>
<initialDuration>0</initialDuration>
<progressionFactor>1.0</progressionFactor>
<maximumDuration>0</maximumDuration>
</suspendOnFailure>
</address>
</endpoint>
</send>
</inSequence>
</target>
<parameter name="transport.jms.ContentType">
<rules>
<jmsProperty>contentType</jmsProperty>
<default>text/plain; charset=ISO-8859-1</default>
</rules>
</parameter>
<parameter name="transport.jms.ConnectionFactory">myQueueConnectionFactory</parameter>
<parameter name="transport.jms.DestinationType">queue</parameter>
<parameter name="transport.jms.Destination">Source_Queue_Name</parameter>
</proxy>
不要忘記在配置 - >傳輸菜單下啓用JMS傳輸發送器。另外,myQueueConnectionFactory
指的是在配置 - >傳輸 - > JMS傳輸偵聽器下設置的參數。
更新:較新版本的WSO2 ESB將不具有用於啓用/禁用傳輸的GUI選項。爲此,您必須修改{ESB_ROOT_DIRECTORY} /repository/conf/axis2/axis2.xml文件並取消註釋與您的環境相對應的JMSListener/JMSSender(ActiveMQ,WSO2 MB等)
這實際上是在兩個不同的activemq代理之間發送流量嗎? –
是的,源隊列位於JMS Transport Listener的'myQueueConnectionFactory'參數下配置的ActiveMQ實例上,而目標隊列位於'address uri'的端點'java.naming.provider.url'中定義的ActiveMQ實例上。 – Voicu
我必須在某處丟失一些配置,因爲當我這樣做時,我得到的是與之前一樣的行爲,消息傳遞給代理服務正在偵聽的代理... 在參數部分中進行連接工廠配置有一個不同的經紀人定義在它? –