[esb-issues] [JBoss JIRA] (JBESB-3941) ESB ignoring transacted flag on EPR element

Tom Cunningham (JIRA) jira-events at lists.jboss.org
Fri Jul 19 10:49:28 EDT 2013


     [ https://issues.jboss.org/browse/JBESB-3941?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tom Cunningham updated JBESB-3941:
----------------------------------

    Component/s: Rosetta

    
> 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
>            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


More information about the esb-issues mailing list