[
http://jira.jboss.com/jira/browse/JBESB-1555?page=comments#action_12401825 ]
Kevin Conner commented on JBESB-1555:
-------------------------------------
Noel's analysis is spot on, as is his workaround.
The value in the address will reflect the server configuration if the JNDI properties are
not set but, unfortunately, it is only the JNDI properties which dictate where to look for
the queue. If the properties have not been specified then the client reading the EPR will
default to its own settings.
The simple fix will be to modify ListenerUtil to populate the default values although this
will not help those EPRs which are already registered in the repository.
Investigate ServiceInvoker/policy behaviour
-------------------------------------------
Key: JBESB-1555
URL:
http://jira.jboss.com/jira/browse/JBESB-1555
Project: JBoss ESB
Issue Type: Task
Security Level: Public(Everyone can see)
Components: Rosetta
Affects Versions: 4.2.1 CP1
Reporter: Kevin Conner
Fix For: 4.2.1 CP2, 4.3
Attachments: ServiceInvoker-loadbalance.tar.gz
From Noel.
Using the JBESB 4.2.1.GA.CP1, I'm pretty sure that there's an issue in
the load balancing behaviour.
I've got a very simple use case with a service deployed into 2 nodes
and sending 2 messages only.
With a debugger, I can see that the two EPR are used by the
ServiceInvoker and that the RoundRobin Policy that I've set is used to
choose alternatively each one.
However, I can see that the same JMS connection properties are reused
(by JMSCourier) instead of having the properties extracted from the
second EPR.
Is there a way for you to check this ?
------------------------------------------------
I forgot to mention that I'm sending messages to esb services from a standalone JSE
java application with the ServiceInvoker.
Going further, I can see that the EPR's <wsa:address .../> value is not used to
initialise the JMS connection. <ReferenceProperties /> are used instead. This
problem happens when the jndi-url is not setup for your esb service (because you want to
use the default value defined for your esb node in the
jbossesb.sar/jbossesb-properties.xml).
Then you have two ways to fix this :
- when declaring the EPR, reuse the wsa:address values when nothing is defined for the
provider (JMS)
- when the service invoker is creating the JMS connection to send the message, use the
<wsa:address if <ReferenceProperties is not defined (at least for the JNDI-URL part
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira