To be able to deploy your migrated applications on Application Server 8.2, it is important to understand classloaders in Application Server 8.2 and changes to the architecture of Application Server 8.2.
In Application Server 7, the DAS controls multiple local instances. The Common Classloader loads the classes in the install-dir/<yourdomain>/<yourinstance>/lib/classes directory and the install-dir/<yourdomain>/<yourinstance>/lib directory. All resources and configurations correspond to a specific instance.
In Application Server 8.2, the DAS controls local and remote instances. The Common Classloader loads the JAR and ZIP files in the domain-dir/lib directory and the classes in the domain-dir/lib/classes directory.
In Application Server 8.2, any JAR file placed in the lib directory of the DAS is replicated to all instances controlled by that DAS. The JAR files bundled with the Application Server reside in the install-dir/lib directory.
For more information on the classloader hierarchy in Application Server 8.2, see The Classloader Hierarchy in Sun Java System Application Server Enterprise Edition 8.2 Developer’s Guide.
You can use the delegation inversion mechanism to use libraries bundled with your application instead of those bundled with the Application Server. However, it is safe to use this mechanism only for web modules that do not access EJB components and do not interact with other applications. For more information on the delegation model of Application Server 8.2, see Classloader Delegation in Sun Java System Application Server Enterprise Edition 8.2 Developer’s Guide.
The default value of the delegate attribute is true in Application Server 8.2. See Default Value for the delegate Attribute.
The JAXP 1.3 parser is bundled with Application Server 8.2. You cannot override the JAXP 1.3 parser for Application Server 8.2.
In Application Server 8.2, to share a library with all the applications and modules in a domain, place the libraries (JAR files) in the domain-dir/lib directory and restart the Application Server. The Common Classloader will load the new libraries. Use this approach to share commonly shared libraries, such as JDBC drivers.
To share libraries across a specific cluster instead of over an entire domain, add the JAR files to the domain-dir/config/<cluster-name>-config/lib directory and add the path to the JAR files in the classpath-suffix attribute. For instructions on how to change this attribute, see Using the System Classloader in Sun Java System Application Server Enterprise Edition 8.2 Developer’s Guide.
Copy the JAR files to domain-dir/config/<cluster-name>-config/lib/ext directory to add to java.ext.dirs. To create an optional package that can be shared across the domain, add the JAR file to domain-dir/lib/ext directory and restart the Application Server.
If multiple applications deployed on a single instance require different versions of the same JAR file, ensure that those JAR files have different names.