Tom Cunningham created JBESB-3941:
-------------------------------------
Summary: ESB ignoring transacted flag on EPR element
Key: JBESB-3941
URL:
https://issues.jboss.org/browse/JBESB-3941
Project: JBoss ESB
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Tom Cunningham
Assignee: Tom Cunningham
Description of problem:
For example
<jbossesb-listeners
deployment="Quickstart_JMS_Transacted.esb"
parameterReloadSecs="5">
<listener
busIdRef="quickstartEsbChannel"
listenerClass="org.jboss.soa.esb.listeners.message.MessageAwareListener"
maxThreads="1"
mep="OneWay"
name="jmssecured"
service-category="JMSSecuredESB"
service-description="JMS Secured quickstart sample"
service-name="SimpleListener">
<EPR
acknowledge-mode="AUTO_ACKNOWLEDGE"
connection-factory="XAConnectionFactory"
destination-name="queue/quickstart_jms_transacted_Request_esb"
destination-type="queue"
persistent="true"
protocol="jms"
transacted="true"/>
If you set a breakpoint on the MessageAwareListener where it retrieves the value for
'transacted', i.e. "transactional =
_config.getBooleanAttribute(ListenerTagNames.TRANSACTED_TAG, false) ;", and if you
then in Eclipse Debug mode analyse the 'this._config' (the ConfigTree variable),
you can see that that ConfigTree does not have a 'transacted' key in its
'_attributes' map. However, one of the Child ConfigTrees of this Listener tree,
the 'EPR' ConfigTree, does have a 'transacted = true' value in it's
tree. However, _config.getBooleanAttribute(..) does not do a recursive search through the
child ConfigTrees (and it probably shouldn't, I'm not sure how this was designed),
which explains why it does not return 'true'.
I have a proposed hack/fix that would resolve this.
In MessageAwareListener line 169. Replace
From
transactional = _config.getBooleanAttribute(ListenerTagNames.TRANSACTED_TAG, false) ;
To
transactional =
_config.getChildren("EPR")[0]..getBooleanAttribute(ListenerTagNames.TRANSACTED_TAG,
false) ;
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira