2016-06-10 5 views
0

Ich habe einen JMS-Listener wie folgt erstellt. Alles funktioniert gut, da der Hörer die Nachrichten von Q empfangen kann. Aber wenn mein Endpunkt aus irgendwelchen Gründen nicht erreichbar ist, wird die Nachricht nicht auf Q zurückgesetzt. Ich würde gerne wissen, dass die JMS-Transaktionsgrenze & ist Rollback-Transaktion, wenn mein Endpunkt fehlschlägt. Derzeit passiert es nicht, irgendetwas fehlt mir hierJMS-Transaktion Rollback in WSO2 ESB4.9.0

<?xml version="1.0" encoding="UTF-8"?> 
<proxy xmlns="http://ws.apache.org/ns/synapse" 
     name="TestJMSListener" 
     transports="jmslistener1,jmslistener2" 
     statistics="disable" 
     trace="disable" 
     startOnLoad="true"> 
    <target> 
     <inSequence> 
     <call> 
      <endpoint key="StoreJMSMSg"/> 
     </call> 
     </inSequence> 
     <faultSequence> 
     <property name="SET_ROLLBACK_ONLY" value="true" scope="axis2"/> 
     </faultSequence> 
    </target> 
    <parameter name="transport.jms.ContentType">application/xml</parameter> 
    <parameter name="transport.jms.Destination">TestQueue</parameter> 
    <description/> 
</proxy> 

Antwort

0

Haben Sie in axis2.xml auch Folgendes eingestellt?

0

Die garantierte Zustellung EIP gewährleistet die sichere Zustellung einer Nachricht, indem sie lokal gespeichert und an den Datenspeicher des Empfängers gesendet wird. Selbst wenn der Empfänger offline ist, stellt der EIP sicher, dass die Nachricht durchlaufen wird, wenn der Empfänger online geht.

Mit Nachrichtenspeichern und Nachrichtenprozessoren können Sie dies überwinden. Bitte beziehen Sie sich auf die link.