Regenerating the node plug-in configuration using scripting

You can use scripting and the wsadmin tool to regenerate the node plug-in configuration. The processing steps presented here require that you are running from the DMGR server's WebSphere-root/bin folder.

Before you begin

Before starting this task, the wsadmin tool must be running. See the Starting the wsadmin scripting client using wsadmin scripting article for more information.

About this task

Perform the following steps to regenerate the node plug-in configuration:

Procedure

  1. Identify the plug-in and assign it to the generator variable, for example:

    Using Jython:

    generator = AdminControl.completeObjectName('type=PluginCfgGenerator,*')

    Using Jacl:

    set generator [$AdminControl completeObjectName type=PluginCfgGenerator,*]
    Additionally, you can specify the optional node parameter. In a stand alone environment, specify the node of the application server.
  2. Regenerate the node plug-in for a given web server definition.

    Using Jython:

    AdminControl.invoke(generator, 'generate', "profile_root/config mycell myWebServerNode myWebServerName true true")

    Using Jacl:

    $AdminControl invoke $generator generate "profile_root/config mycell myWebServerNode myWebServerName true true"

Example

The following application-centric examples use the generate, propagate, and propagateKeyring operations for a given web server definition:

Using Jython:
AdminControl.invoke(generator,'generate',"profile_root/config
01Cell03  01Node03 webserver1 true")

AdminControl.invoke(generator,'propagate',"profile_root/config
01Cell03  01Node03 webserver1")

AdminControl.invoke(generator,'propagateKeyring',"profile_root/config  
01Cell03  01Node03 webserver1"
Using Jacl:
$AdminControl invoke $generator generate "profile_root/config  01Cell03  01Node03 webserver1 true"

$AdminControl invoke $generator propagate  "profile_root/config  01Cell03  01Node03 webserver1"

$AdminControl invoke $generator propagateKeyring "profile_root/config  01Cell03  01Node03 webserver1"
The following information explains the possible parameters that the generate operation accepts:
public void generate(java.lang.String
  configuration_root, java.lang.String myCellName,
 java.lang.String myNodeName, java.lang.String myServerName, java.lang.Boolean
 propagate, java.lang.Boolean propagateKeyring) 
where:
configuration_root
is the root directory path for the configuration repository to be scanned.
myCellName
is the name of the cell in the configuration repository to restrict generation to.
myNodeName
is the name of the node in the configuration repository to restrict generation to.
myServerName
is the name of the server to restrict generation to.
propagate
is a boolean variable that specifies to propagate the configuration file.
propagateKeyring
is a boolean variable that specifies to propagate the keyring file.

The propagateKeyring moves the SSL keyring to the plug-in machine.

Scripting example using Jython:
  • Open a command prompt at your WebSphere_home/bin folder.
  • Start wsadmin with "wsadmin -lang jython.
  • Set up the environment with next three commands.
    • objNameString = AdminControl.completeObjectName('WebSphere:type=PluginCfgGenerator,*')
    • import javax.management as mgmt
    • objName = mgmt.ObjectName(objNameString)
  • Define the parameters. The parameters supplied are (WAS_home/profile/?/config, Cell_Name, Node_Name, Webserver_Name, propagate XML, propagate Keyring)
    • parms = ['C:\WAS\WebSphere\profiles\Dmgr01\config','MY-Cell01','MY-Node01','Webserver1',java.lang.Boolean("false"),java.lang.Boolean("false")]
  • Give a signature that tells Jython what type of parameters are being used.
    • signature = ['java.lang.String','java.lang.String','java.lang.String','java.lang.String','java.lang.Boolean','java.lang.Boolean']
  • Execute the generation.
    • AdminControl.invoke_jmx(objName, "generate", parms, signature)

The following network-centric example uses the generate operation to generate the plug-in configuration file for the cell:

Using Jython:
AdminControl.invoke(generator,'generate',"profile_root/config 01Cell03 null null plugin-cfg.xml")
Using Jacl:
$AdminControl invoke $generator generate "profile_root/config 01Cell03 null null plugin-cfg.xml"
The following information explains the possible parameters that the generate operation accepts:
public void generate(java.lang.String 
 app_server_root, java.lang.String 
  configuration_root, java.lang.String myCellName,
 java.lang.String myNodeName, java.lang.String 
 myServerName,java.lang.String myOutputFileName)  
where:
app_server_root
is the root directory for the application server to run the command against.
configuration_root
is the root directory path for the configuration repository to be scanned.
myCellName
is the name of the cell in the configuration repository to restrict generation to.
myNodeName
is the name of the node in the configuration repository to restrict generation to.
myServerName
is the name of the server to restrict generation to.
myOutputFileName
is the path and filename of the generated plug-in configuration file.