[jboss-jira] [JBoss JIRA] (WFLY-4834) Throw EJBException instead of ConcurrentAccessTimeoutException when access attempt of a Session EJB already in a tx by another tx
Brad Maxwell (JIRA)
issues at jboss.org
Fri Jun 26 00:55:02 EDT 2015
Brad Maxwell created WFLY-4834:
----------------------------------
Summary: Throw EJBException instead of ConcurrentAccessTimeoutException when access attempt of a Session EJB already in a tx by another tx
Key: WFLY-4834
URL: https://issues.jboss.org/browse/WFLY-4834
Project: WildFly
Issue Type: Bug
Components: EJB
Affects Versions: 10.0.0.Alpha3
Reporter: Brad Maxwell
EJB3.1 specification chapter *4.6.4 Restrictions for transactions*
- A session bean instance can participate in at most a single
transaction at a time.
- If a session bean instance is participating in a transaction, it is an
error for a client to invoke a method on the session object such that
the transaction attribute specified in the bean’s metadata annotations
and/or the deployment descriptor would cause the container to execute
the method in a different transaction context or in an unspecified
transaction context. In such a case, the javax.ejb.EJBException will be
thrown to a client of the bean’s business interface/
With this flow:
- SLSB start with @REQUIRED
- SLSB request a reference to a SFSB
- call a method SFSB.x() @REQUIRED
- call another method SFSB.y() @REQUIRES_NEW
It fails with:
javax.ejb.ConcurrentAccessTimeoutException: JBAS014360: EJB 3.1 FR
4.3.14.1 concurrent access timeout on
org.jboss.invocation.InterceptorContext at 4375b1 - could not obtain lock
within 5000 MILLISECONDS|
It should throw an EJBException as the Session Bean is already participating in a transaction instead of ConcurrentAccessTimeoutException
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
More information about the jboss-jira
mailing list