]
Kevin Conner closed JBESB-2183.
-------------------------------
Resolution: Done
Fixed in both CP branches, trunk being tracked in JBESB-2188.
Wrong ReplyTo after message delivery failure
--------------------------------------------
Key: JBESB-2183
URL:
https://jira.jboss.org/jira/browse/JBESB-2183
Project: JBoss ESB
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Transports
Affects Versions: 4.4
Environment: 4 node JBoss ESB 4.4 cluster, clustered JBM 1.4.0 SP3, replicated
MySQL 5.0
Reporter: Joakim Sandström
Assignee: Kevin Conner
Fix For: 4.2.1 CP4, 4.4 CP2
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].
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: