Set application class loaders
We 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.
This page assumes that you installed an application on an application server.
Set the class loaders of an enterprise application to set class-loader policy and mode values for this application.
An application class loader groups EJB modules, shared libraries, resource adapter archive (RAR) files, and dependency 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 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 admin console to configure the class loaders.
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 Applications > Application Types > WebSphere enterprise apps > application_name > Class loading and update detection 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. We might specify different values for EJB modules and for Web modules such as servlets and JSPs.
- 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). We might specify different values for EJB modules and for Web modules such as servlets and JSPs.
To enable reloading, specify an integer value that is greater than zero (for example, 1 to 2147483647).
To disable reloading, specify zero (0).
- 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 WAS 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), the 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 we have mixed use of overridden classes and non-overridden classes.
- Specify whether to use a single or multiple class loaders to load Web app archives (WAR files) of the 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 the application.
- Click OK.
Next steps
Save the changes to the admin configuration.
Related tasks
Install enterprise application files with the console
Class loading
Related
Enterprise application settings
Class loading and update detection settings