]
RH Bugzilla Integration commented on JBESB-3941:
------------------------------------------------
Rick Wagner <rwagner(a)redhat.com> changed the Status of [bug
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)
Components: Rosetta
Affects Versions: 4.12
Reporter: Tom Cunningham
Assignee: Tom Cunningham
Fix For: 4.11 CP3
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: