PQ58498: EJB SERVER CHANGES TRANSACTION ATTRIBUTE FOR EJB METHODS WHEN THE EJB METHODS HAVE ARRAY AS PARAMETERS

 Fixes are available

PQ63130; 4.0.2,4.0.3,4.0.4: Transaction context changes to tx_not_supported
EJB Container; 4.0.2-4.0.7: Component Cumulative fix for EJB Container



APAR status
Closed as program error.

Error description
In the deployment descriptor ejb-jar.xml, the transaction
attribute "Not Supported" is defined at the EJB Bean method. The
EJB method also have array as parameters.  When start the EJB
Server, the transaction attribute for the above EJB method
is changed to "Required".
.
There is no problem if the transaction attribute was specified
at the bean level (i.e. EJB Server uses transaction attribute
as specified in the deployment descriptor).
.
Detail analysis of the problem:
When there is no transaction attribute specified, the default
is "Required". What was happening is the code that queries the
the EJB remote interface for method names and parameters was not
correctly distinguishing between a Class as a argument versus
an array of Class; It was always returning a Class. The EJB
Server was not finding a "match" between the method signature
specified in the deployment descriptor (an array) and method
signature read from the remote interface (a scalar).

Thus, that method was keeping the default value of "Required"
and not getting reset to "Not Supported" as specified in the
deployment descriptor.
Local fix Problem summary
****************************************************************
* USERS AFFECTED: WebSphere Application Server users of        *
*                 transactions who do not specify the          *
*                 transaction type.  In addition, user         *
*                 implemented an EJB method with transaction   *
*                 attribute not set and has an array as a      *
*                 parameter type.                              *
****************************************************************
* PROBLEM DESCRIPTION: The EJB method was keeping the default  *
*                      transaction attribute value of          *
*                      "Required" and not getting reset to     *
*                      "Not Supported" as specified in the     *
*                      deployment descriptor.                  *
****************************************************************
* RECOMMENDATION: Once fix applied, this efix will address     *
*                 this situation without change to customer    *
*                 software.                                    *
****************************************************************
When an EJB method includes an array as a parameter in the
method invocation, and the method's transaction attribute is
left to a default value, the method will run with a transaction
attribute of "Required" vs. "Not Supported".
Problem conclusion
If an EJB method is defined with an array as a parameter,
the transaction attribute should be set explicitly in the AAT
for this method.
.
To resolve this problem, the latest EJB container cumulative
fixpack can be applied.
Temporary fix
Test fix was sent to customer on 28 Feb, awaiting feedback
Comments
APAR information
APAR number PQ58498
Reported component name WEBSPHERE AE NT
Reported component ID 5630A2201
Reported release 400
Status CLOSED PER
PE NoPE
HIPER NoHIPER
Submitted date 2002-02-27
Closed date 2002-03-27
Last modified date 2002-04-02

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 #: PQ58498
IBM Group: Software Group
Modified date: Apr 2, 2002