WAS v8.5 > Script the application serving environment (wsadmin) > Configure servers with scriptingDisable components using scripting
We can disable components by invoking operations with scripting and wsadmin. This topic describes how to disable the nameServer component of a configured server. We can modify the examples in this topic to disable other components.
There are two ways to complete this task. This topic uses the AdminConfig object to stop components in the environment. Alternatively, we can use the configureStateManageable script in the AdminServerManagement script library to enable and disable components. The wsadmin tool automatically loads the script when the tool starts. Use the following syntax to configure PMI settings using the configureStateManageable script:
AdminServerManagement.configureStateManageable(nodeName, serverName, parentType, initialState)
For additional information and argument definitions, see the documentation for the AdminServerMananagment script library.
- Start the wsadmin scripting tool.
- Identify the server component and assign it to the nameServer variable.
- Jacl:
set nameServer [$AdminConfig list NameServer $server]
- Using Jython:
nameServer = AdminConfig.list('NameServer', server) print nameServer
Example output:
(cells/mycell/nodes/mynode/servers/server1|server.xml#NameServer_1)
- List the components belonging to the server.
List the components associated with the server, and assign the components to the components variable, as the following example demonstrates:
- Jacl:
set components [$AdminConfig list Component $server]
- Using Jython:
components = AdminConfig.list('Component', server) print components
The components variable contains a list of components.
Example output:
(cells/mycell/nodes/mynode/servers/server1|server.xml#ApplicationServer_1) (cells/mycell/nodes/mynode/servers/server1|server.xml#EJBContainer_1) (cells/mycell/nodes/mynode/servers/server1|server.xml#NameServer_1) (cells/mycell/nodes/mynode/servers/server1|server.xml#WebContainer_1)- Identify the nameServer component.
Parse the components to identify the nameServer component, and assign it to the nameServer variable. Since the name server component is the third element in the list, retrieve this element using an index of 2, as the following example demonstrates:
- Jacl:
set nameServer [lindex $components 2]
- Using Jython:
# get line separator import java lineSeparator = java.lang.System.getProperty('line.separator') arrayComponents = components.split(lineSeparator) nameServer = arrayComponents[2] print nameServer
Example output:
(cells/mycell/nodes/mynode/servers/server1|server.xml#NameServer_1)
- Disable the nameServer component.
Modify the nested initialState attribute belonging to the stateManagement attribute to disable the nameServer component, as the following example demonstrates:
- Jacl:
$AdminConfig modify $nameServer {{stateManagement {{initialState STOP}}}}
- Using Jython:
AdminConfig.modify(nameServer, [['stateManagement', [['initialState', 'STOP']]]])
- Save the configuration changes.
Use the following command example to save your configuration changes:
AdminConfig.save()
Related
Use the wsadmin scripting AdminConfig object for scripted administration
Reference:
Server settings configuration scripts
Commands for the AdminConfig object using wsadmin.sh