PQ58039: CLASS <CLASSNAME> VIOLATES LOADER CONSTRAINTS: DEFINITION MISMATCH BETWEEN PARENT AND CHILD WHEN SERVLET PASSES PARMS TO AN EJB | |||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description When an application servlet is instantiated and passes a class reference to a method call to an EJB, and the EJB is instantiated, neither looks into the Web cache for the class reference. This causes a problem because now there are 2 copies of the referenced class. The next reference to the class from outside the scope of the current classloader could cause the following error: Class <classname> violates loader constraints: definition mismatch between parent and child loaders. The visibility mode is Module (0).Local fix Problem summary **************************************************************** * USERS AFFECTED: All users of the WebSphere Application * * Server Version V4.0.1 for z/OS and OS/390. * **************************************************************** * PROBLEM DESCRIPTION: When an application servlet is * * instantiated and passes a class * * reference to a method call to an EJB, * * and the EJB is instantiated, neither * * looks into the Web cache for the class * * reference. This causes a problem * * because now there are 2 copies of the * * referenced class. The next reference to * * the class from outside the scope of the * * current classloader could cause the * * following error: * * Class <classname> violates loader * * constraints: definition mismatch * * between parent and child loaders. * * The visibility mode is Module (0). * **************************************************************** * RECOMMENDATION: * **************************************************************** When an application servlet is instantiated and passes a class reference to a method call to an EJB, and the EJB is instantiated, neither looks into the Web cache for the class reference. This causes a problem because now there are 2 copies of the referenced class. The next reference to the class from outside the scope of the current classloader could cause the following error: Class <classname> violates loader constraints: definition mismatch between parent and child loaders. The visibility mode is Module (0). The Application Server code loads a class only when it is used, rather than when it is referenced, causing the above problem.Problem conclusion The Application Server code previously loaded a class only when it was used rather than when it was referenced, causing the problem in Version V4.0.1. We now force all the EJB classes to be loaded when they are referenced. The EJB classes, EJBStub classes, and the EJB method/constructor parameter/return classes are also cached when they are first loaded. A lookup is done in the cache for a class prior to loading the class in order to avoid loader constraints. This change affects COMPID 5655A9800 R401 for z/OS and OS/390. The code changes are stored in CMVC under defect PQ58039. 401Y EJSJWCWC * Cross Reference between External and Internal NamesTemporary 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 #: PQ58039
IBM Group: Software Group
Modified date: Apr 1, 2002
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.