[jboss-jira] [JBoss JIRA] (WFLY-4078) Calling methods in SessionBeans of another transaction context
Stefan Lindner (JIRA)
issues at jboss.org
Thu Nov 13 08:12:29 EST 2014
Stefan Lindner created WFLY-4078:
------------------------------------
Summary: Calling methods in SessionBeans of another transaction context
Key: WFLY-4078
URL: https://issues.jboss.org/browse/WFLY-4078
Project: WildFly
Issue Type: Bug
Components: EJB
Affects Versions: 9.0.0.Alpha1
Environment: Java 8.25 Win7-64bit
Reporter: Stefan Lindner
Assignee: David Lloyd
We have an Application running well on JBoss 5. It's a pure EJB3.0 application, no EJB2 parts.
We have JarA.jar with it's own transaction context and JarB.jar with it's own transaction context. Each with it's own datasource.
In JarA we have
@Entity
class EntityA...
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW)
public EntityA doSomeActionsInContextB() {
EntityA object = <retrieve from database>;
return objct;
}
In JarB we have
SessionBean v = getSessionBeanFromContextA();
EntityA object = v.doSomeActionsInContextB();
In JBoss we simply had to set
<property name="com.arjuna.ats.jta.supportSubtransactions" value="YES"/>
<property name="com.arjuna.ats.jta.jtaTMImplementation" value="com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionManagerImple"/>
in server/standard/conf/jbossts-properties.xml to allow nested transactions that made the above possible.
Now in 8.1 and 9.0 nightlybuild (calls itself RC3) this is not possible anymore.
The error messge is the same as in old JBoss 5 without subtransactions configured:
WARN [com.arjuna.ats.arjuna] (default task-33) ARJUNA012140: Adding multiple last resources is disallowed. Trying to add LastResourceRecord(XAOnePhaseResource(LocalXAResourceImpl at 21c99d7b[connectionListener=3b646dfc connectionManager=78a4cb30 warned=false currentXid=< formatId=131077, gtrid_length=45, bqual_length=36, tx_uid=0:ffffc0a8de8a:77959edf:5464a877:785, node_name=VisioDesk-primary, branch_uid=0:ffffc0a8de8a:77959edf:5464a877:78e, subordinatenodename=null, eis_name=java:/VISIONET_COMMON_DS > productName=INGRES productVersion=II 9.2.4 (a64.sol/100) jndiName=java:/VISIONET_COMMON_DS])), but already have LastResourceRecord(XAOnePhaseResource(LocalXAResourceImpl at 3286d1fb[connectionListener=268fa4c6 connectionManager=2664884b warned=false currentXid=< formatId=131077, gtrid_length=45, bqual_length=36, tx_uid=0:ffffc0a8de8a:77959edf:5464a877:785, node_name=VisioDesk-primary, branch_uid=0:ffffc0a8de8a:77959edf:5464a877:78a, subordinatenodename=null, eis_name=java:/VISIODESK_DS > productName=INGRES productVersion=II 9.2.4 (a64.sol/100) jndiName=java:/VISIODESK_DS]))
WARN [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-33) SQL Error: 0, SQLState: null
ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] (default task-33) javax.resource.ResourceException: IJ000457: Unchecked throwable in managedConnectionReconnected() cl=org.jboss.jca.core.connectionmanager.listener.TxConnectionListener at 3b646dfc[state=NORMAL managed connection=org.jboss.jca.adapters.jdbc.local.LocalManagedConnection at 69d8390d connection handles=0 lastUse=1415882936317 trackByTx=false pool=org.jboss.jca.core.connectionmanager.pool.strategy.OnePool at 130ebfdb mcp=SemaphoreArrayListManagedConnectionPool at 65ed5c71[pool=VISIONET_COMMON_DS] xaResource=LocalXAResourceImpl at 21c99d7b[connectionListener=3b646dfc connectionManager=78a4cb30 warned=false currentXid=null productName=INGRES productVersion=II 9.2.4 (a64.sol/100) jndiName=java:/VISIONET_COMMON_DS] txSync=null]
And there is no way to set subtransactions allowed. Reading http://www.jboss.org//quickstarts/eap/jts/index.html shows outdated examples not working in Wildfly 8 and 9
No ideas from the community: https://developer.jboss.org/message/909762
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)
More information about the jboss-jira
mailing list