Modify configuration objects using the wsadmin scripting tool
Modifying configuration objects using scripting and the wsadmin tool.
See the Starting the wsadmin scripting client topic for more information.
When using the modify command for the AdminConfig object, use the configuration object ID to modify the attribute we want to change. If we use the parent object ID to modify the attribute, the command resets all other attributes that are not specified to the default values. For example, we use the modify command to change the monitoring policy settings through its parent object, the process definition object. All attributes for the process definition object that were not modified with the command, such as the pingInterval and pingTimeout attributes, are reset to their default values.
Perform the following steps to modify a configuration object:
Tasks
- Retrieve the configuration ID of the objects to modify, for example:
- Jacl:
set jdbcProvider1 [$AdminConfig getid /JDBCProvider:myJdbcProvider/]- Jython:
jdbcProvider1 = AdminConfig.getid('/JDBCProvider:myJdbcProvider/')
Element Description set Jacl command jdbcProvider1 Variable name $ Jacl operator for substituting a variable name with its value AdminConfig Object representing the product configuration getid AdminConfig command /JDBCProvider:myJdbcProvider/ is the hierarchical containment path of the configuration object JDBCProvider is the object type myJdbcProvider is the optional name of the object - Show the current attribute values of the configuration object with the show command, for example:
- Jacl:
$AdminConfig show $jdbcProvider1- Jython:
AdminConfig.show(jdbcProvider1)
Element Description $ Jacl operator for substituting a variable name with its value AdminConfig object that represents the product configuration show n AdminConfig command jdbcProvider1 Evaluate to the ID of the host node specified in step number 1 - Modify the attributes of the configuration object.
Examples:
- Jacl:
$AdminConfig modify $jdbcProvider1 {{description "This is my new description"}}$AdminConfig modify $outPort {{retargettedURI "endpoint address"}}- Jython list:
AdminConfig.modify(jdbcProvider1, [['description', "This is my new description"]])AdminConfig.modify(outPort, [['retargettedURI', "endpoint address"]])- Jython string:
AdminConfig.modify(jdbcProvider1, '[[description "This is my new description"]]')AdminConfig.modify(outPort, '[[retargettedURI "endpoint address"]]')where:
We can also modify several attributes at the same time. For example:
Element Description $ is a Jacl operator for substituting a variable name with its value AdminConfig is an object that represents the product configuration modify is an AdminConfig command jdbcProvider1 evaluates to the ID of the host node specified in step number 1 description is an attribute of server objects This is my new description is the value of the description attribute outPort is the name of the SIBWSOutboundPort created using the addSIBWSOutboundPort command. The AdminConfig command can also be used to modify the other SIBWSOutboundPort command attributes. retargettedURI is the attribute of outport objects. This particular attribute is equivalent to changing the value specified for the endpoint address property on the administrative console. endpoint address is the value of the retargettedURI attribute
- Jacl:
{{name1 val1} {name2 val2} {name3 val3}}- Jython list:
[['name1', 'val1'], ['name2', 'val2'], ['name3', 'val3']]- Jython string:
'[[name1 val1] [name2 val2] [name3 val3]]'
- List all of the attributes that can be modified:
- Jacl:
$AdminConfig attributes JDBCProvider- Jython:
print AdminConfig.attributes('JDBCProvider')
Example output:
$AdminConfig attributes JDBCProvider "classpath String*" "description String" "implementationClassName String" "name String" "nativepath String*" "propertySet J2EEResourcePropertySet" "providerType String" "xa boolean"- Modify an attribute that has a type of list and collection.
By default, if we try to modify an attribute that has a type of list and collection, and the attribute has an existing value in the list, it will append the new value to the existing values. An attribute that has a type of list and collection will have a star (*). In the following example, the attribute classpath has an type of list and collection and the value is String. To replace the existing value, change the classpath to be an empty list before we modify the new value. For example:
- Jacl:
(Dist)
$AdminConfig modify $jdbcProvider1 {{classpath {}}} $AdminConfig modify $jdbcProvider1 [list [list classpath c:/temp/db2j.jar]](iSeries) (ZOS)
$AdminConfig modify $jdbcProvider1 {{classpath {}}} $AdminConfig modify $jdbcProvider1 [list [list classpath /temp/db2j.jar]]- Jython list:
(Dist)
AdminConfig.modify(jdbcProvider1, [['description', []]]) AdminConfig.modify(jdbcProvider1, [['description', 'c:/temp/db2j.jar']](iSeries) (ZOS)
AdminConfig.modify(jdbcProvider1, [['description', []]]) AdminConfig.modify(jdbcProvider1, [['description', '/temp/db2j.jar']]- Jython string:
(Dist)
AdminConfig.modify(jdbcProvider1, '[]') AdminConfig.modify(jdbcProvider1, '[[description c:/temp/db2j.jar]]')(iSeries) (ZOS)
AdminConfig.modify(jdbcProvider1, '[]') AdminConfig.modify(jdbcProvider1, '[[description /temp/db2j.jar]]')
- Save the configuration changes.
AdminConfig.save()- In a network deployment environment only, 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")
Use the script library to automate the application serving environment Start the wsadmin scripting client Synchronize nodes wsadmin AdminConfig Commands for the AdminConfig object