Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1057314 - ResourceAdapter#getXAResources() is called in despite of using "LocalTransaction" or "NoTransaction" <transaction-support> setting in the resource adapter in EAP 6.2
Summary: ResourceAdapter#getXAResources() is called in despite of using "LocalTransact...
Keywords:
Status: CLOSED DEFERRED
Alias: None
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: JCA
Version: 6.2.0
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: ---
: EAP 6.4.0
Assignee: Jesper Pedersen
QA Contact: Martin Simka
Russell Dickenson
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-01-23 20:13 UTC by Masafumi Miura
Modified: 2018-12-04 17:06 UTC (History)
0 users

Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-09-02 13:58:02 UTC
Type: Bug


Attachments (Terms of Use)

Description Masafumi Miura 2014-01-23 20:13:56 UTC
### Description of problem:

ResourceAdapter#getXAResources() is still called at every xa-recovery in despite of using "LocalTransaction" or "NoTransaction" <transaction-support> setting in the resource adapter in EAP 6.2.0/6.1.1.

Javadoc[1] says "This method (getXAResources) is called by the application server during crash recovery.". This method should not be called when xa-recovery is disabled by using "LocalTransaction" or "NoTransaction".

[1] http://docs.oracle.com/javaee/6/api/javax/resource/spi/ResourceAdapter.html#getXAResources(javax.resource.spi.ActivationSpec[])


### Version-Release number of selected component (if applicable):

- EAP 6.2.0 / Ironjacamar 1.0.23.Final
- EAP 6.1.1 / Ironjacamar 1.0.19.Final


### How reproducible:

Anytime when using with the following <transaction-support> setting on the resource adapter:

~~~
        <subsystem xmlns="urn:jboss:domain:resource-adapters:1.1">
            <resource-adapters>
                <resource-adapter id="activemq-rar-5.8.0.redhat-60024.rar">
                    <archive>
                        activemq-rar-5.8.0.redhat-60024.rar
                    </archive>
                    <transaction-support>LocalTransaction</transaction-support>
                    <!-- or
                    <transaction-support>NoTransaction</transaction-support> 
                    -->
                    ...(snip)...
                    <connection-definitions>
                        <connection-definition class-name="org.apache.activemq.ra.ActiveMQManagedConnectionFactory" jndi-name="java:jboss/ConnectionFactory" enabled="true" pool-name="ConnectionFactory">
                        </connection-definition>
                    </connection-definitions>
                    ...(snip)...
                </resource-adapter>
            </resource-adapters>
        </subsystem>
~~~

Comment 3 Jesper Pedersen 2014-09-02 13:58:02 UTC
A resource adapter needs to implement ResourceAdapter.getXAResources(ActivationSpec[]) according to the contracts.

Hence it needs to provide an empty list of XAResource in the case of NoTransaction or LocalTransaction.

Further improvements will be made in EAP 7.0.


Note You need to log in before you can comment on or make changes to this bug.