You
can set values that control the class-loading behavior
of an installed enterprise application. Class loaders enable an application
to access repositories of available classes and resources.
About this task
Configure the class loaders of
an enterprise application
to set class-loader policy and mode values for this application.
An
application class loader groups enterprise bean (EJB) modules, shared
libraries, resource adapter archive (RAR) files, and dependency Java archive (JAR) files associated to an application.
Dependency JAR files are JAR files that contain code which can be
used by both enterprise beans and servlets.
An application class
loader is the parent of a web application archive (WAR) class loader.
By default, a web module has its own WAR class loader to load the
contents of the web module. The WAR class-loader policy value of an
application class loader determines whether the WAR class loader or
the application class loader is used to load the contents of the Web
module.
Use the administrative console to configure the class
loaders.
Attention: If an application is running,
changing an application setting causes the application to restart.
On stand-alone servers, the application restarts after you save the
change. On multiple-server products, the application restarts after
you save the change and files synchronize on the node where the application
is installed. To control when synchronization occurs on multiple-server
products, deselect Synchronize changes with nodes on the Console preferences page.
- Click to
access the settings page for an application class loader.
- Specify whether to reload application classes when the
application or its files are updated.
By default, class
reloading is not enabled. Select Override class reloading
settings for web and EJB modules to choose to reload application
classes. You might specify different values for EJB modules and for
web modules such as servlets and JavaServer Pages (JSP) files.
- Specify the number of seconds to scan the application's
file system for updated files.
The value specified for Polling
interval for updated files takes effect only if class
reloading is enabled. The default is the value of the reloading interval
attribute in the IBM® extension (META-INF/ibm-application-ext.xmi)
file of the enterprise application (EAR file). You might specify different
values for EJB modules and for web modules such as servlets and JSP
files.
To enable reloading, specify an integer value that is
greater than zero (for example, 1 to 2147483647).
To disable
reloading, specify zero (0).
Supported configurations: For IBM extension
and binding files, the .xmi or .xml file name extension is different
depending on whether you are using a pre-Java EE 5 application or
module or a Java EE 5 or later
application or module. An IBM extension
or binding file is named ibm-*-ext.xmi or ibm-*-bnd.xmi where * is
the type of extension or binding file such as app, application, ejb-jar,
or web. The following conditions apply:
- For an application or module that uses a Java EE version prior to version 5, the file
extension must be .xmi.
- For an application or module that uses Java EE 5 or later, the file extension must
be .xml. If .xmi files are included with the application or module,
the product ignores the .xmi files.
However, a Java EE
5 or later module can exist within an application that includes pre-Java
EE 5 files and uses the .xmi file name extension.
The ibm-webservices-ext.xmi, ibm-webservices-bnd.xmi, ibm-webservicesclient-bnd.xmi, ibm-webservicesclient-ext.xmi,
and ibm-portlet-ext.xmi files continue to use
the .xmi file extensions.
sptcfg
- Specify the class
loader order for the application.
The application class
loader order specifies whether the
class loader searches in the parent class loader or in the application
class loader first to load a class. The default is to search in the
parent class loader before searching in the application class loader
to load a class.
Select either of the following values for Classes
loader order:
Option |
Description |
Classes
loaded with parent class loader first |
Causes the
class loader to search in the parent class loader
first to load a class. This value is the standard for Development
Kit class loaders and WebSphere® Application Server class
loaders. |
Classes loaded with local
class loader first (parent last) |
Causes the class
loader to search in the application class
loader first to load a class. By specifying Classes loaded
with local class loader first (parent last), your application
can override classes contained in the parent class loader. Avoid trouble: Specifying the Classes loaded with local
class loader first (parent last) value might result in
LinkageErrors or ClassCastException messages if you have mixed use
of overridden classes and non-overridden classes. gotcha
|
- Specify whether to use a single
or multiple class loaders
to load web application archives (WAR files) of your application.
By default, web modules have their own WAR class loader to
load the contents of the WEB-INF/classes and WEB-INF/lib directories.
The default WAR class loader value is Class loader for each
WAR file in application, which uses a separate class loader
to load each WAR file. Setting the value to Single class loader
for application causes the application class loader to load
the web module contents as well as the EJB modules, shared libraries,
RAR files, and dependency JAR files associated to the application.
The application class loader is the parent of the WAR class loader.
Select
either of the following values for WAR class loader policy:
Option |
Description |
Class loader for each WAR file in application |
Uses a different class loader for each WAR file. |
Single class loader for application |
Uses a single class loader to load all of the WAR files in
your application. |
- Click OK.