Uploaded image for project: 'JBoss ESB'
  1. JBoss ESB
  2. JBESB-2183

Wrong ReplyTo after message delivery failure

    Details

      Description

      ServiceInvoker does not reset ReplyTO when message delivery fails, which causes the next EPR (for the same service) to get the wrong ReplyTO address

      Steps to reproduce:
      Node1: 10.5.0.229
      Node2: 10.5.0.230

      1. uddi contains all cluster node EPR's
      2. kill the node (10.5.0.230) behind the first EPR for a service in uddi
      3. invoke the service
      4. ServiceInvoker sends a mesage to jms://10.5.0.230:1100/queue/myserviceEsbChannel, which failes because the node is down
      4.1 ReplyTo is jms://10.5.0.230:1100/queue/myserviceEsbChannel_reply
      5. ServiceInvoker sends a message to the next EPR jms://10.5.0.229:1100/queue/myserviceEsbChannel, which succeeds
      5.1 ReplyTo IS STILL jms://10.5.0.230:1100/queue/myserviceEsbChannel_reply
      6. Message gets delivered successfully, but the reply fails

      First EPR, message sent to node2, reply to node2:

      deliver message [header: [ To: JMSEpr [ PortReference < <wsa:Address jms://10.5.0.230:1100/queue/myserviceEsbChannel/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : 10.5.0.230:1100/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory :ClusteredConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ]ReplyTo: JMSEpr [ PortReference < <wsa:Address jms://10.5.0.230:1100/queue/myserviceEsbChannel_reply/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : 10.5.0.230:1100/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ClusteredConnectionFactory/>, <wsa:ReferenceProperties jbossesb:message-selector : jbossESBresponseUUID='de1ddfaf-6d45-4d03-b9ab-97b72244457c'/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ] ]] to Service [mycategory:myservice].

      Second EPR, message sent to node1, reply to is still node2:

      deliver message [header: [ To: JMSEpr [ PortReference < <wsa:Address jms://10.5.0.229:1100/queue/myserviceEsbChannel/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : 10.5.0.229:1100/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory :ClusteredConnectionFactory/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ]ReplyTo: JMSEpr [ PortReference < <wsa:Address jms://10.5.0.230:1100/queue/myserviceEsbChannel_reply/>, <wsa:ReferenceProperties jbossesb:java.naming.provider.url : 10.5.0.230:1100/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.initial : org.jnp.interfaces.NamingContextFactory/>, <wsa:ReferenceProperties jbossesb:java.naming.factory.url.pkgs : org.jboss.naming:org.jnp.interfaces/>, <wsa:ReferenceProperties jbossesb:destination-type : queue/>, <wsa:ReferenceProperties jbossesb:specification-version : 1.1/>, <wsa:ReferenceProperties jbossesb:connection-factory : ClusteredConnectionFactory/>, <wsa:ReferenceProperties jbossesb:message-selector : jbossESBresponseUUID='de1ddfaf-6d45-4d03-b9ab-97b72244457c'/>, <wsa:ReferenceProperties jbossesb:persistent : true/>, <wsa:ReferenceProperties jbossesb:acknowledge-mode : AUTO_ACKNOWLEDGE/>, <wsa:ReferenceProperties jbossesb:transacted : false/>, <wsa:ReferenceProperties jbossesb:type : urn:jboss/esb/epr/type/jms/> > ] ]] to Service [mycategory:myservice].

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  kconner Kevin Conner
                  Reporter:
                  sanjoa Joakim Sandstroem
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  0 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: