PQ58498: EJB SERVER CHANGES TRANSACTION ATTRIBUTE FOR EJB METHODS WHEN THE EJB METHODS HAVE ARRAY AS PARAMETERS | |||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||
![]() 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 feedbackComments
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 #: PQ58498
IBM Group: Software Group
Modified date: Apr 2, 2002
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.