PQ57023: AAT/390 CLASS LOADER DOES NOT 'FIND' A CLASS, EVEN THOUGH ITS INA PROPER LOCATION ACCORDING TO J2EE SPEC. | |||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||
APAR status Closed as fixed if next. Error description After applying PTF UQ59197 to control the search algorithm used by the AAT/390 tool used by the classloader. Specicically, option '2', which specifies that the classloader 'sees' all classes in the application in all contexts. This allows use of a package structure where classes that are used by EJBs and web appl.s are packaged as part of the Web app. (stored under ".../WEB-INF/lib" in this case). During the import of the .ear file an error message stating org/grnds/facility/factory/GrndsFactoryException class could not be found, even though it is in a .jar file, properly defined within the ear file. (This class name will of course change based on the application being processed.)Local fix Place the .jar file that holds the 'missing' class into the AAT_USER_PATH environment variable. AAT should then be able to 'find' the class there.Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V4.0 for z/OS and OS/390. * **************************************************************** * PROBLEM DESCRIPTION: Sometimes while importing an EAR file * * into AAT/390, message pops up asking * * for missing classes although the class * * that it claims is missing is contained * * within the WAR file's /WEB-INF/lib dir, * * another EjbJAR file's / dir, or EAR * * file's / dir as a jar file. * **************************************************************** * RECOMMENDATION: * **************************************************************** In rare cases where an EAR file that contains both EjbJARs and WARs may experience false claims of missing class even though class that AAT/390 claims missing is in fact located within /WEB-INF/lib dir as a jar file within WAR, / dir as a jar file within another EjbJAR or / dir as a jar file within EAR. e.g. If an EAR that a user is trying to import into AAT/390 has the following structure, while AAT tries to reflect all methods of Hello EJB stored within an EjbJAR file, classloader mechanism used within AAT may face the following problem: => inherits/extends -> references Trying to reflect all methods in HelloHome interface will cause HelloRemote class to be loaded due to reference. HelloRemote extends Hello class & therefore Hello gets loaded under the cover. Hello residing in war1.war->WEB-INF/lib/WarClasses.jar references several classes including the following: EmployeeInformationValue.class TargetEntitlement.class GrndsFactoryException.class s1.ear: META-INF/application.xml ejb1.jar (EjbJAR) web1.war (WebApp) ejb1.jar: META-INF/ejb-jar.xml com/s1/HelloRemote.class => Hello.class com/s1/HelloBean.class com/s1/HelloHome.class -> HelloRemote.class : war1.war: WEB-INF/web.xml WEB-INF/classes/com/s1/HelloServlet.class WEB-INF/lib/WarClasses.jar WEB-INF/lib/grnds_s1.jar Hello.html pretty.gif : WarClasses.jar: com/s1/Hello.class +-> EmployeeInformationValue.class +-> TargetEntitlement.class +-> GrndsFactoryException.class com/s1/EmployeeInformationValue.class com/s1/TargetEntitlement.class : grnds_s1.jar: org/grnds/GrndsFactoryException : NoClassDefFoundError is thrown for GrndsFactoryException which is NOT included within the same JAR as the first two classes that Hello.class references due to current ClassLoader's inability to delegate classes not found during class loading between sibling Jar/Zip files contained within a J2EE Module archive (i.e. EjbJAR, WAR, etc).Problem conclusion Temporary fix Comments This APAR is being closed FIN with concurrence from the submitting customer. A solution to this problem will be delivered in a WebSphere Application Server for z/OS and OS/390 release within the next 18 month. . A fix for the problem reported by this APAR has been provided in PTF UQ65454 of WebSphere Application Server V4.0.1 for z/OS and OS/390.
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 #: PQ57023
IBM Group: Software Group
Modified date: Jul 24, 2002
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.