0

私は wso2esb4.7.0 と ActiveMQ5.8.0 を使用しています。このためにキューにメッセージを保存したいのですが、このコードを試してみましたが、うまくいきません。メッセージを保存するのに役立つストアを作成しました。消費について心配する必要はありません。そうすれば、私のメッセージはacivemq UIに表示されます。私の構成は次のとおりです

<messageStore name="JMSQueue" class="org.wso2.carbon.message.store.persistence.jms.JMSMessageStore" xmlns="http://ws.apache.org/ns/synapse">
   <parameter name="java.naming.factory.initial">org.apache.activemq.jndi.ActiveMQInitialContextFactory</parameter>
   <parameter name="java.naming.provider.url">tcp://localhost:61616</parameter>
   <parameter name="store.jms.destination">faisal5_Queue</parameter>
   <parameter name="store.jms.JMSSpecVersion">1.1</parameter>
   <parameter name="store.jms.cache.connection">false</parameter>
</messageStore>

そのためのプロキシを介してメッセージを渡そうとしています そのための単純なプロキシサービスを作成します

<proxy xmlns="http://ws.apache.org/ns/synapse"
       name="Jms"
       transports="https,http"
       statistics="disable"
       trace="disable"
       startOnLoad="true">
   <target>
      <inSequence>
         <property name="messageType" value="application/json" scope="axis2"/>
         <log level="full"/>
         <property name="OUT_ONLY" value="true"/>
         <store messageStore="JMSQueue"/>
      </inSequence>
      <outSequence/>
   </target>
   <description/>
</proxy>

この場合、私のキューは Activemq で作成されていません。メッセージ プロセスを作成すると、私の QUEUE だけが ActiveMQ UI に表示されるのはなぜですか。このためのサンプル コードを記述してください。私のシナリオは単純です。保存処理後

4

2 に答える 2

0

以下の構成を使用して、メッセージを activemq に保存するだけです。メッセージ プロセッサを使用していないため、メッセージ ストアを作成する必要はありません。したがって、次のようにメッセージをキューに簡単に保存できます。

<proxy name="JmsProxyTest"
      transports="https http"
      startOnLoad="true"
      trace="disable">
  <target endpoint="jmsEndpoint">
     <inSequence>
        <property name="OUT_ONLY" value="true"/>
        <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>
     </inSequence>
     <outSequence>
        <drop/>
     </outSequence>
  </target>

 <endpoint name="jmsEndpoint">
  <address uri="jms:/faisal5_Queue?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://127.0.0.1:61616&amp;transport.jms.DestinationType=queue"/>

また、esb で activemq を正しく構成したことを確認することをお勧めします。ありがとう。

于 2013-08-22T09:51:48.540 に答える
0

プロキシとメッセージ ストアは問題ありません。テスト済みです。ActiveMQ で ESB を正しく構成していないと思います。

このリンクに従って、前述のように jar を配置し、Axis2.xml を編集します。次に、コードを試してください。それはうまくいくはずです

于 2013-08-22T09:58:24.007 に答える