This task uses the AdminConfig object to configure a shared
library for an application. Shared libraries are files used by multiple
applications. Create a shared library to reduce the number of duplicate
library files on your system.
Before you begin
There are two ways to complete this task. The example in
this topic uses the AdminConfig object to create and configure a shared
library. Alternatively, you can use the createSharedLibrary script
in the AdminResources script library to configure shared libraries.
The scripting library provides a set of
procedures to automate the most common administration functions. You
can run each script procedure individually, or combine several procedures
to quickly develop new scripts.
Procedure
- Start the wsadmin scripting tool.
- Identify the shared library and assign it to the library
variable. You can either use an existing shared library or create
a new one, for example:
- Identify the deployment configuration object for the application
and assign it to the deployment variable. For example:
Using Jacl:
set deployment [$AdminConfig getid /Deployment:myApp/]
Using Jython:
deployment = AdminConfig.getid('/Deployment:myApp/')
print deployment
Table 4. getid Deployment command elements. Run
the getid command to identify a deployment object.Element |
Description |
set |
is a Jacl command |
deployment |
is a variable name |
$ |
is a Jacl operator for substituting a variable
name with its value |
AdminConfig |
is an object representing the WebSphere Application Server configuration |
getid |
is an AdminConfig command |
Deployment |
is an attribute |
myApp |
is the value of the Deployment attribute |
print |
is a Jython command |
Example output: myApp(cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#Deployment_1)
- Retrieve the application deployment and assign it to the appDeploy variable.
For example:
Using Jacl:
set appDeploy [$AdminConfig showAttribute $deployment deployedObject]
Using Jython:
appDeploy = AdminConfig.showAttribute(deployment, 'deployedObject')
print appDeploy
Table 5. showAttribute deployment command elements. Run the showAttribute command to assign
a deployed object.Element |
Description |
set |
is a Jacl command |
appDeploy |
is a variable name |
$ |
is a Jacl operator for substituting a variable
name with its value |
AdminConfig |
is an object representing the WebSphere Application Server configuration |
showAttribute |
is an AdminConfig command |
deployment |
evaluates the ID of the deployment
configuration object specified in step number 2 |
deployedObject |
is an attribute of modify objects |
print |
is a Jython command |
Example output: (cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#ApplicationDeployment_1)
- Identify the class loader in the application deployment
and assign it to the classLoader variable. For
example:
Using Jacl:
set classLoad1 [$AdminConfig showAttribute $appDeploy classloader]
Using Jython:
classLoad1 = AdminConfig.showAttribute(appDeploy, 'classloader')
print classLoad1
Table 6. showAttribute appDeploy command elements. Run the showAttribute command to assign
a class loader.Element |
Description |
set |
is a Jacl command |
classLoad1 |
is a variable name |
$ |
is a Jacl operator for substituting a variable
name with its value |
AdminConfig |
is an object representing the WebSphere Application Server configuration |
showAttribute |
is an AdminConfig command |
appDeploy |
evaluates the ID of the application
deployment specified in step number 3 |
classLoader |
is an attribute of modify objects |
print |
is a Jython command |
Example output: (cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#Classloader_1)
- Associate the shared library in the application through
the class loader. For example:
Using Jacl:
$AdminConfig create LibraryRef $classLoad1 {{libraryName MyshareLibrary}}
Using Jython:
print AdminConfig.create('LibraryRef', classLoad1, [['libraryName', 'MyshareLibrary']])
Table 7. create LibraryRef command elements. Run
the create command to create a library reference.Element |
Description |
$ |
is a Jacl operator for substituting a variable
name with its value |
AdminConfig |
is an object representing the WebSphere Application Server configuration |
create |
is an AdminConfig command |
LibraryRef |
is an AdminConfig object |
classLoad1 |
evaluates to the ID of class loader specified
in step number 4 |
libraryName |
is an attribute |
MyshareLibrary |
is the value of the libraryName attribute |
Example output: (cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#LibraryRef_1)
- Save the configuration changes.
Use the following command example to save your configuration
changes:
AdminConfig.save()