Network Deployment (Distributed operating systems), v8.0 > Scripting the application serving environment (wsadmin) > Configure applications using scripting


Configure a shared library for an application using wsadmin scripting

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 the system.

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

  1. Start wsadmin.sh.

  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. Identify 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
          

        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 

        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 

      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 

    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
      

    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
      

    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}}
      

      ### Jython

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

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

  7. Save the configuration changes.

    Save the configuration changes:

    AdminConfig.save()
    

  8. Synchronize the node.

    Use the syncActiveNode or syncNode scripts in the AdminNodeManagement script library to propagate the configuration changes to node or nodes.

    • Use the syncActiveNodes script to propagate the changes to each node in the cell:
      AdminNodeManagement.syncActiveNodes()
      

    • Use the syncNode script to propagate the changes to a specific node:
      AdminNodeManagement.syncNode("myNode")
      

Start the wsadmin scripting client using wsadmin.sh
Create shared libraries
Associate shared libraries with applications or modules
Use the wsadmin scripting AdminConfig object for scripted administration
Configure a shared library using scripting
Resource configuration scripts
Commands for the AdminConfig object using wsadmin.sh

+

Search Tips   |   Advanced Search