PQ65395: PROBLEMS IN CALLING EJBS FROM 'BEFORECOMPLETION' IN SESSION BEANS & 'EJBSTORE' IN ENTITY BEANS: PROBLEMS WITH REFLECTION API | |||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() 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 is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: Modules/Macros
SRLS
|
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
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.