PQ65395: PROBLEMS IN CALLING EJBS FROM 'BEFORECOMPLETION' IN SESSION BEANS & 'EJBSTORE' IN ENTITY BEANS: PROBLEMS WITH REFLECTION API

 Fixes are available

EJB Container; 4.0.2-4.0.7: Component Cumulative fix for EJB Container
4.0.5: WebSphere Application Server Version 4.0 Fix Pack 5 (Version 4.0.5)



APAR status
Closed as program error.

Error description
0) * Calling EJBs from beforeCompletion on SessionSynch
enabled Session Beans
    * Calling EJBS from ejbStore on EntityBeans.
.
 1) If a CMP bean a, has a method b, and a.b() contains a call
to bean b, method b, e.g. b.b(), and b.b() received an unchecked
or system exception, bean b is discarded correctly, but bean a
is not. Consequently, bean a is placed back into the reuse pool,
but is the destroyed state, and useable. If tracing has been
enabled, the following will appear in the log:
             InvalidBeanOStateException(current = DESTROYED,
                                        expected = POOLED)
.
Abstract: EJB Container cumulative eFix and workaround for
problem with reflection api
.
  2) If method-level attributes are specified in the bean's
deployment descriptor for transactions, isolation level, or
read-only, and the attribute is specified to apply to a specific
method with a specific signature, and one or more of the argumen
ts in the signature is an array type, the container does not
correctly apply the attribute to the corresponding method on the
EJB.
.
  3) On some platforms, a problem has been found where a call to
the reflection api getField(name) results in a
NoSuchFieldException even though the field does exist. This may
be an intermittent problem which will be seen when installing an
application with an Entity Bean with Container Managed
Persistence fields.
.
  4) Overloaded EJBObject methods, such as remove, did not get
the correct Transaction Attributes applied.
Local fix
A test-fix has been provided to the customer.
Problem summary
****************************************************************
* USERS AFFECTED: All WebSphere Application Server users who   *
*                 attempt to access an EJB from within another *
*                 EJB's EJBStore method.                       *
****************************************************************
* PROBLEM DESCRIPTION: IllegalBeanOStateException thrown       *
*                      when an EJB is accessed from            *
*                      within another EJB's EJBStore           *
*                      method.  The subsequent enlist of       *
*                      that EJB will fail.                     *
****************************************************************
* RECOMMENDATION:                                              *
****************************************************************
EJB Container was not compliant with the 1.1 EJB Specification
because it did not allow access to EJBs from within other EJB's
EJBStore methods.
Problem conclusion
The algorithm for transaction enlists within the container
were modified to allow EJBs to call other EJBs within their
EJBStore method.
Temporary fix
We want customer feedback per the PMR 63701.  This fix allows
ejb access on beforeCompletion and ejbStore.
Comments
APAR information
APAR number PQ65395
Reported component name WEBSPHERE AE NT
Reported component ID 5630A2201
Reported release 400
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2002-08-20
Closed date 2002-09-27
Last modified date 2002-09-27

APAR is sysrouted FROM one or more of the following:

APAR is sysrouted TO one or more of the following:

Modules/Macros
EJBCONTR          

SRLS

Fix information
Fixed component name WEBSPHERE AE NT
Fixed component ID 5630A2201

Applicable component levels
R400 PSY    UP


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > General
Operating system(s):
Software version: 400
Software edition:
Reference #: PQ65395
IBM Group: Software Group
Modified date: Sep 27, 2002