PQ74893: 390FY USES EJB-CLASS NAME RATHER THAN REMOTE NAME TO SUPPORT CMPS THAT USE EJB-CLASS NAME TO GENERATE CMP PERSISTER CLASS | |||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description 390fy incorrectly uses the ejb-class name rather than the remote name for the persister class name in the cases when the bean class name is not XXXBean where XXX is the EJB remote interface name. For example, if the CMP bean was named FXRate: Remote interface name: FXRate Bean class name: FXRateCMPBean 390fy tries to find a persister class with the name EJSJDBCPersisterCMPFXRateBean.class in the ear file which fails. As a result it does not regenerate the persister class for this CMP bean. 390fy works with CMP beans whose bean class name is RemoteInterfaceName+Bean. It is not required for the bean class name to be named this way. 390fy should be updated to handle this case.Local fix Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * version 4.0.1 for z/OS and OS/390 * **************************************************************** * PROBLEM DESCRIPTION: During installation of an application * * that contains a CMP (Container Managed * * Persistence) EJB which has been * * deployed through 390fy and/or the SM * * EUI, which contains Direct Deployment * * Tool function, server will receive a * * "java.lang.NoSuchFieldError: * * com.ibm.ejs.persistence. * * EJSJDBCPersister:field home not * * found" error. * **************************************************************** * RECOMMENDATION: * **************************************************************** 390fy does not update the persister class EJSJDBCPersisterCMPXXX properly if <ejb-class> name is anything other than <remote> + "Bean". This is the normal naming convention for an <ejb-class>, but the specification does not mandate <ejb-class> to be named in such a way although the WSAD tooling's wizard generates it this way. CMP (Container Managed Persistence) EJB that uses <ejb-class> name other than <remote> + "Bean" will not be updated properly by 390fy, and will eventually cause "java.lang.NoSuchFieldError: com.ibm.ejs.persistence. EJSJDBCPersister: field home not found" error during install.Problem conclusion 390fy's persister class modifier module would be adjusted to use "EJSJDBCPersisterCMP" + <ejb-class> + ".java" rather than using "EJSJDBCPersisterCMP" + <remote> + "Bean.java" to allow <ejb-class> name to be different than simply <remote> + "Bean", although this is the standard naming convention used in most of the J2EE development tooling including WSAD. APAR PQ74893 is associated with SERVICE LEVEL W401508 of WebSphere Application Server version 4.0.1 for z/OS and OS/390.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: Modules/Macros
|
Document Information |
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 401
Software edition:
Reference #: PQ74893
IBM Group: Software Group
Modified date: Jul 3, 2003
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.