The class loader hierarchy and delegation policy

Each server, component, Web application, application, and package has a custom class loader associated with it. The EAServer class loaders have a a parent-child hierarchy. Every class loader except the server class loader has a parent. This relationship is shown in the following figure:

Figure 30-1: EAServer class loader hierarchy

When you specify the same class at multiple levels, the class loader delegation policy determines how version conflicts are resolved. The version 2 class loader supports these settings:

NoteIf you use the version 1 class loader, the delegation policy is always Parent First, regardless of the entity configuration.

You can configure the delegation policy for each component, package, Web application, application. In EAServer Manager, use the Class Loader Policy control on the Java Classes tab in the properties dialog for the entity. If using jagtool or an EAServer configuration file, set the property listed in the Table 30-1.

Table 30-1: Class loader delegation properties

Entity

Property name

Component

com.sybase.jaguar.component.classloaderpolicy

Package

com.sybase.jaguar.package.classloaderpolicy

Web application

com.sybase.jaguar.webapplication.classloaderpolicy

Application

com.sybase.jaguar.application.classloaderpolicy