メッセージをまったく別のブローカーに転送したいキューでリッスンしているサービスがあります。これは WSO2 ESB で可能ですか? もしそうなら、この構成はどのように行われますか? 他のブローカーのトランスポート URL を使用してエンドポイントを指定しようとしましたが、うまくいきませんでした...
質問する
1555 次
1 に答える
1
JMS キューから選択して (ActiveMQ JMS プロバイダー上の) 別のキューにポストするために使用した WSO2 ESB プロキシ サービスの構成を次に示します。
<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>
[Configure] -> [Transports] メニューで JMS Transport Sender を有効にすることを忘れないでください。また、myQueueConnectionFactory
[構成] -> [トランスポート] -> [JMS トランスポート リスナー] で設定されたパラメーターも参照します。
更新: WSO2 ESB の新しいバージョンには、トランスポートを有効/無効にする GUI オプションがありません。これを行うには、{ESB_ROOT_DIRECTORY}/repository/conf/axis2/axis2.xmlファイルを変更し、環境 (ActiveMQ、WSO2 MB など) に対応する JMSListener/JMSSender のコメントを解除する必要があります。
于 2013-06-27T17:01:31.297 に答える