You can associate one or more shared libraries with an
application using an installed optional package that declares the
shared libraries in the application's manifest file. Classes represented
by the shared libraries are then loaded in the application's class
loader, making the classes available to the application.
Before you begin
Read about installed optional packages in Installed optional packages
and in section 8.2 of the Java 2 Platform, Enterprise Edition (J2EE) specification, Version 1.4 at
http://docs.oracle.com/javaee/1.4/api/index.html.
WebSphere® Application Server does not support the Java 2 Platform Standard
Edition (J2SE) Installed Optional Package semantics used in the J2SE specification
(http://docs.oracle.com/cd/E19455-01/806-7503/6jgceuig7/index.html), which primarily serve the
applet environment. WebSphere Application Server ignores applet-specific tags
within manifest files.
About this task
Installed optional packages expand the existing shared library capabilities of an application
server. Installed optional packages enable an administrator to declare a dependency in an
application's manifest file to a shared library, with installed optional package elements listed in
the manifest file, and automatically associate the application to the shared library. During
application installation, the shared library .jar file is added to the class
path of the application class loader.
If you use an installed optional package to associate a shared library with an application, do
not associate the same shared library with an application class loader or a server class loader
using the administrative console.
Procedure
- Assemble the library file, including the manifest information that identifies it as an
extension.
Two sample manifest files follow. The first sample manifest file has application
app1.ear refer to a single shared library file
util.jar:
app1.ear:
META-INF/application.xml
ejb1.jar:
META-INF/MANIFEST.MF:
Extension-List: util
util-Extension-Name: com/example/util
util-Specification-Version: 1.4
META-INF/ejb-jar.xml
util.jar:
META-INF/MANIFEST.MF:
Extension-Name: com/example/util
Specification-Title: example.com's util package
Specification-Version: 1.4
Specification-Vendor: example.com
Implementation-Version: build96
The second sample manifest file has application app1.ear refer to multiple
shared library .jar files:
app1.ear:
META-INF/application.xml
ejb1.jar:
META-INF/MANIFEST.MF:
Extension-List: util1 util2 util3
Util1-Extension-Name: com/example/util1
Util1-Specification-Version: 1.4
Util2-Extension-Name: com/example/util2
Util2-Specification-Version: 1.4
Util3-Extension-Name: com/example/util3
Util3-Specification-Version: 1.4
META-INF/ejb-jar.xml
util1.jar:
META-INF/MANIFEST.MF:
Extension-Name: com/example/util1
Specification-Title: example.com's util package
Specification-Version: 1.4
Specification-Vendor: example.com
Implementation-Version: build96
util2.jar:
META-INF/MANIFEST.MF:
Extension-Name: com/example/util2
Specification-Title: example.com's util package
Specification-Version: 1.4
Specification-Vendor: example.com
Implementation-Version: build96
util3.jar:
META-INF/MANIFEST.MF:
Extension-Name: com/example/util3
Specification-Title: example.com's util package
Specification-Version: 1.4
Specification-Vendor: example.com
Implementation-Version: build96
- Create a shared library that represents the library file assembled in step 1.
This installs the library file as a shared library.
- Copy the shared library .jar file to the cluster
members.
- Assemble the application, declaring in the application manifest file dependencies to the
library files named the manifest created for step 1.
- Install the application on the server or cluster.
Results
During application installation, the shared library .jar files are added to
the class path of the application class loader.