Configure a shared library for an application using scripting

 

Overview

Use the AdminApp object to set certain configurations in the application. This example uses the AdminConfig object to configure a shared library for an application.

 

Procedure

  1. Start wsadmin

  2. Identify the shared library and assign it to the library variable. We can either use an existing shared library or create a new one, for example:

    • To create a new shared library, perform the following steps:

      1. Idenitfy the node and assign it to a variable, for example:

        • Jacl

          set n1 [$AdminConfig getid /Cell:mycell/Node:mynode/]
          

        • Jython

          n1 = AdminConfig.getid('/Cell:mycell/Node:mynode/')
          print n1
          

        where:

        set is a Jacl command
        n1 is a variable name
        $ is a Jacl operator for substituting a variable name with its value
        AdminConfig is an object representing the WAS configuration
        getid is an AdminConfig command
        Cell is the object type
        mycell is the name of the object that will be modified
        Node is the object type
        mynode is the name of the object that will be modified
        Example output

        mynode(cells/mycell/nodes/mynode|node.xml#Node_1)
        

      2. Create the shared library in the node. The following example creates a new shared library in the node scope. We can modify it to use the cell or server scope.

        • Jacl:

          set library [$AdminConfig create Library $n1 {{name mySharedLibrary} {classPath c:/mySharedLibraryClasspath}}]
          

        • Jython:

          library = AdminConfig.create('Library', n1, [['name', 'mySharedLibrary'], ['classPath', 'c:/mySharedLibraryClasspath']])
          print library
          

        where:

        set is a Jacl command
        library is a variable name
        $ is a Jacl operator for substituting a variable name with its value
        AdminConfig is an object representing the WAS configuration
        create is an AdminConfig command
        Library is an AdminConfig object
        n1 evaluates to the ID of host node specified in step number 1
        name is an attribute
        mySharedLibrary is the value of the name attribute
        classPath is an attribute
        /mySharedLibraryClasspath is the value of the classPath attribute
        Example output

        MySharedLibrary(cells/mycell/nodes/mynode|libraries.xml#Library_1)
        

    • To use an existing shared library, issue the following command:

      • Jacl

        set library [$AdminConfig getid /Library:mySharedLibrary/]
        

      • Jython

        library = AdminConfig.getid('/Library:mySharedLibrary/')
        print library
        

      where:

      set is a Jacl command
      library is a variable name
      $ is a Jacl operator for substituting a variable name with its value
      AdminConfig is an object representing the WAS configuration
      getid is an AdminConfig command
      Library is an attribute
      mySharedLibrary is the value of the Library attribute
      Example output

      MySharedLibrary(cells/mycell/nodes/mynode|libraries.xml#Library_1)
      

  3. Identify the deployment configuration object for the application and assign it to the deployment variable. For example:

    • Jacl

      set deployment [$AdminConfig getid /Deployment:myApp/]
      

    • Jython

      deployment = AdminConfig.getid('/Deployment:myApp/')
      print deployment
      

    where:

    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 WAS 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)
    

  4. Retrieve the application deployment and assign it to the appDeploy variable. For example:

    • Jacl

      set appDeploy [$AdminConfig showAttribute $deployment deployedObject]
      

    • Jython

      appDeploy = AdminConfig.showAttribute(deployment, 'deployedObject')
      print appDeploy
      

    where:

    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 WAS 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)
    

  5. Identify the class loader in the application deployment and assign it to the classLoader variable. For example:

    • Jacl

      set classLoad1 [$AdminConfig showAttribute $appDeploy classloader]
      

    • Jython

      classLoad1 = AdminConfig.showAttribute(appDeploy, 'classloader')
      print classLoad1
      

    where:

    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 WAS 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)
    

  6. Associate the shared library in the application through the class loader. For example:

    • Jacl

      $AdminConfig create LibraryRef $classLoad1 {{libraryName MyshareLibrary} {sharedClassloader true}}
      $AdminConfig save
      

    • Jython

      print AdminConfig.create('LibraryRef', classLoad1, [['libraryName', 'MyshareLibrary'],  ['sharedClassloader', 'true']])
      

    where:

    $ is a Jacl operator for substituting a variable name with its value
    AdminConfig is an object representing the WAS 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
    sharedClassloader is an attribute
    true is the value of the sharedClassloader attribute
    Example output

    (cells/mycell/applications/myApp.ear/deployments/myApp|deployment.xml#LibraryRef_1)
    

  7. In a network deployment environment only, synchronize the node.


 

See Also


AdminConfig object for scripted administration

 

Related Tasks


Configuring a shared library using scripting

 

See Also


Commands for the AdminConfig object