Specifying whether or not all applications are to be loaded during J2EE server initialization
 Technote (FAQ)
 
Problem
If you have an application that only contains interface references to an EJB™ that is packaged in a different application, and there is no way to guarantee that the application containing the EJB will be loaded first.
 
Cause
If you have an application that only contains interface references to an EJB that is packaged in a different application, and there is no way to guarantee that the application containing the EJB will be loaded first. Setting the com.ibm.ws390.classloader.preload JVM property to "true" guarantees that all applications, including the one containing the EJB, will be loaded during server initialization.
 
Solution
If you have APAR PQ79219 installed on your WebSphere® Application Server for z/OS® system, you can use the com.ibm.ws390.classloader.preload JVM™ property to specify whether or not all applications are to be loaded during J2EE server initialization.

The following changes will be made to Appendix A in WebSphere Application Server V4.0.1 for z/OS and OS/390: Assembling J2EE Applications, SA22-7836-06, and WebSphere Application Server V4.0.1 for z/OS and OS/390: Installation and Customization, GA22-7834-07:

The JVM property com.ibm.ws390.classloader.preload= will be added to Table 26, along with an indication that it applies to a J2EE server instance.

The following information will be added to the section "Properties descriptions":

com.ibm.ws390.classloader.preload=true|false

Specifies whether or not all applications are to be loaded during J2EE server initialization. This property works for server, compatibility, and application classloader modes.

You should specify "true" if you have applications that, because of the way they are packaged, should be loaded during server initialization. For example, you might have an application that only contains interface references to an EJB that is packaged in a different application, and there is no way to guarantee that the application containing the EJB will be loaded first. Setting this property to "true" guarantees that all applications, including the one containing the EJB, will be loaded during server initialization.

Note: If you set this property to true, server initialization time may be impacted if a large number of applications and components per application need to be deployed on the server.

The default value is false; applications are to be loaded as they are referenced.

Also, the following note will be added to the list of notes on class packaging for specific classloader modes contained in section "Guidelines for setting classloader mode and application packaging" of Chapter 6 of WebSphere ApplicationServer V4.0.1 for z/OS and OS/390: Assembling J2EE Applications, SA22-7836-06:

For classloader modes of server, compatibility, and application, applications are loaded as they are referenced. If you have applications that, because of the way they are packaged, should be loaded during server initialization, set the JVM property com.ibm.ws390.classloader.preload=true|false to true. All applications will then be loaded during server initialization. (This could impact initialization time if a large number of applications need to be loaded.)
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server for z/OS > EJB Container
Operating system(s): z/OS
Software version: 4.0.1
Software edition:
Reference #: 1141571
IBM Group: Software Group
Modified date: Sep 10, 2004