APAR status |
Closed as program error.
| Error description
Under the circumstances described below, a BeanNotReentrant-
Exception may be incorrectly thrown by the EJB container in
WebSphere Application Server 3.5.x:
1. During a bean creation, the ejbCreate() is called in the user
provided bean implemenation. The ejbCreate throws an unchecked
exception (i.e. user defined security exception ),
2. A Bean's create method is always running in an Unsupported
transaction attribute, this means a local transaction is created
in the create() method called. This local transaction is
associated to the thread the create method is run in.
5. If the method call has a transaction attribute that requires
a new transaction (i.e. TX_Required), the local tx is suspended
and a new transaction is resumed. The enlistment of this new
transaction is prohibited because the bean has already been
enlisted in the original global transaction. Thus the
BeanNotReentrantException is thrown.
The solution of this problem is to disassociate the transaction
from the thread during the exception handling in the EJB
container and the exception goes away. WebSphere Application Server 3.5.x:1. During a bean creation, the ejbCreate() is called in the userprovided bean implemenation. The ejbCreate throws an uncheckedexception (i.e. user defined security exception ),2. A Bean's create method is always running in an Unsupportedtransaction attribute, this means a local transaction is createdin the create() method called. This local transaction isassociated to the thread the create method is run in.5. If the method call has a transaction attribute that requiresa new transaction (i.e. TX_Required), the local tx is suspendedand a new transaction is resumed. The enlistment of this newtransaction is prohibited because the bean has already beenenlisted in the original global transaction. Thus theBeanNotReentrantException is thrown.The solution of this problem is to disassociate the transactionfrom the thread during the exception handling in the EJBcontainer and the exception goes away. Local fixProblem summary
****************************************************************
* USERS AFFECTED: WebSphere Application Server users of EJBs *
* which throws an unchecked exception in the *
* ejbCreate() method. *
****************************************************************
* PROBLEM DESCRIPTION: Under specific circumstances, a *
* BeanNotReentrantException may be *
* incorrectly thrown by the EJB *
* container. *
****************************************************************
* RECOMMENDATION: Apply the efix provided to L2. *
****************************************************************
Under the circumstances described below, a
BeanNotReentrantException may be incorrectly thrown by the EJB
container in WebSphere Application Server 3.5.x:
1. During a bean creation, the ejbCreate() is called in the
user provided bean implementation. The ejbCreate throws an
unchecked exception (i.e. user defined security exception),
2. A Bean's create method is always running in an Unsupported
transaction attribute, this means a local transaction is
created in the create() method call. This local transaction
is associated to the thread the create method is run in.
3. If the method call has a transaction attribute that requires
a new transaction (i.e. TX_Required), the local transaction
is suspended and a new transaction is resumed. The enlistment
of this new transaction is prohibited because the bean has
already been enlisted in the original global transaction.
Thus the BeanNotReentrantException is thrown. container in WebSphere Application Server 3.5.x:1. During a bean creation, the ejbCreate() is called in theuser provided bean implementation. The ejbCreate throws anunchecked exception (i.e. user defined security exception),2. A Bean's create method is always running in an Unsupportedtransaction attribute, this means a local transaction iscreated in the create() method call. This local transactionis associated to the thread the create method is run in.3. If the method call has a transaction attribute that requiresa new transaction (i.e. TX_Required), the local transactionis suspended and a new transaction is resumed. The enlistmentof this new transaction is prohibited because the bean hasalready been enlisted in the original global transaction.Thus the BeanNotReentrantException is thrown. Problem conclusion
The solution of this problem is to disassociate the
transaction from the thread during the exception handling
in the EJB container. Temporary fix
Customer confirmed the test fix works. We'll build the Fix
on to
p of the 3.5.6 fixpack for the customer to apply. Comments
APAR information | APAR number | PQ70353 | Reported component name | WAS ADVANCED AI | Reported component ID | 5648C8400 | Reported release | 350 | Status | CLOSED PER | PE | NoPE | HIPER | NoHIPER | Submitted date | 2003-01-28 | Closed date | 2003-03-24 | Last modified date | 2003-05-05 |
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:APAR is sysrouted FROM one or more of the following:
PQ73847
Modules/Macros APAR is sysrouted TO one or more of the following:PQ73847Modules/Macros
Applicable component levels | R350 PSY | UP |
|