0

axis2ファイルのすべての変更を行い、jarファイルをlibにドロップしました。メッセージプロセスは正常に動作し、ストアメディエーターと定義されたtarget.endpointで構成されるプロキシにリクエストを送信するたびに、メッセージストアにメッセージを保存した後も保存します。私の構成ファイルを処理していません

<proxy xmlns="http://ws.apache.org/ns/synapse" name="Message" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
   <target>
      <inSequence>
         <log level="full"/>
         <property name="faisal" value="faisal" scope="default" type="STRING"/>
         <property name="target.endpoint" value="JmsChecking" scope="default" type="STRING"/>
         <store messageStore="faisal5"/>
      </inSequence>
      <outSequence>
         <log level="full"/>
      </outSequence>
   </target>
   <description></description>
</proxy

メッセージストアは

<messageStore name="faisal5" 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>

およびメッセージ プロセッサ

<messageProcessor name="faisal" class="org.apache.synapse.message.processors.forward.ScheduledMessageForwardingProcessor" messageStore="faisal5" xmlns="http://ws.apache.org/ns/synapse">
   <parameter name="interval">1000</parameter>
   <parameter name="max.delivery.attempts">4</parameter>
</messageProcessor>

およびエンドポイントは、このようなものとそのエントリを定義します

<endpoint xmlns="http://ws.apache.org/ns/synapse" name="JmsChecking">
   <address uri="http://localhost:8282/services/JmscheckingEndpoint" format="soap11">
      <suspendOnFailure>
         <progressionFactor>1.0</progressionFactor>
      </suspendOnFailure>
      <markForSuspension>
         <retriesBeforeSuspension>0</retriesBeforeSuspension>
         <retryDelay>0</retryDelay>
      </markForSuspension>
   </address>
</endpoint>

エンドポイント構成ログ値プロキシ

proxy xmlns="http://ws.apache.org/ns/synapse" name="JmscheckingEndpoint" transports="https,http" statistics="disable" trace="disable" startOnLoad="true">
   <target>
      <inSequence>
         <log level="custom">
            <property name="Message" value="JMs working fine"/>
            <property name="value" expression="//mail/text()"/>
         </log>
      </inSequence>
      <outSequence>
         <send/>
      </outSequence>
   </target>
   <description></description>
</proxy>

今、私はリクエストを送信しています。このログ値は次のように印刷されています

[2013-07-25 11:42:03,039]  INFO - LogMediator Message = JMs working fine, value = faisal.shaik@youtility.in
[2013-07-25 11:42:03,039]  INFO - LogMediator Message = JMs working fine, value = faisal.shaik@youtility.in
[2013-07-25 11:42:03,039]  INFO - LogMediator Message = JMs working fine, value = faisal.shaik@youtility.in
[2013-07-25 11:42:03,039]  INFO - LogMediator Message = JMs working fine, value = faisal.shaik@youtility.in

メッセージプロセスが非アクティブ化されています.もう1つのリクエストを送信した場合、処理されていないメッセージプロセスを保存するだけです.メッセージプロセスのbcozは非アクティブ化された状態です.このJMSは、このMYシナリオのようにのみ機能します.同様に、エンドポイントが利用できない場合、メッセージは最大の言及回数を再試行し、エンドポイントが利用できない場合でも、メッセージ ストアに保存されます。このパラメーターの使用法について説明してください。 /wiki/display/ESB460/Store+and+Forward+Using+JMS+Message+Stores この faisal5_Queue ストア ポイントはフォルダとして存在します

   <parameter name="store.jms.destination">faisal5_Queue</parameter>
4

1 に答える 1

1

いいえ、フォルダは作成されません。faisal5_Queue wso2 esb を使用して「store.jms.destination」に言及すると、指定した名前「faisal5_Queue」でメッセージ ブローカー (この場合は ActiveMQ) にキューが作成されます。明示的に言及しなかった場合、WSO2 esb は「YourMessageStoreName_Queue」でキューを作成します。

これらのブログをさらに参照して、「メッセージ ストア」と「メッセージ プロセッサ」の動作を理解することができます。

http://vanjikumaran.blogspot.com/2013/08/jms-store-and-jms-processor-behavior.html http://vanjikumaran.blogspot.com/2013/08/jms-messagenstore-and-jms-message .html http://vanjikumaran.blogspot.com/2013/08/jms-messagen-store-and-jms-message.html

于 2013-08-14T17:59:59.713 に答える