updateBPMConfig command
Use the updateBPMConfig command to create, update, delete, and append elements and attributes in the 100Custom.xml files. In network deployment (ND) environments, the command updates the 100Custom.xml files for both clusters and cluster members and the modified values are set when the next node synchronization occurs. In stand-alone environments, such as IBM BPM Express and the unit test environment of IBM Integration Designer, the command updates the 100Custom.xml file for a server and the modified values are set immediately when you run the command.
The updateBPMConfig command is run using the AdminTask object of the wsadmin scripting client. If you have multiple versions of the 100Custom.xml file, such as 101Custom.xml and 102Custom.xml, only the 100Custom.xml file is updated by the command. Information about the location of the 100Custom.xml files and associated configuration files is found in the topic Location of configuration files.
Prerequisites
The following conditions must be met:
- In IBM BPM Standard and IBM BPM Advanced, the command must be run on the deployment manager node. In IBM BPM Express, the command must be run on the stand-alone server.
- If the deployment manager or stand-alone server is stopped, use the wsadmin -conntype none option to run the command in disconnected mode (which is the recommended mode for this command).
- If the deployment manager or stand-alone server is running, you must connect with a user ID that has WebSphere Application Server configurator privileges. Do not use the wsadmin -conntype none option.
Location
Start the wsadmin scripting client from the profile_root/bin directory. The updateBPMConfig command does not write to a log file, but the wsadmin scripting client always writes a profile_root/logs/wsadmin.traceout log file where you will find exception stack traces and other information.
Syntax
updateBPMConfig
[-de deployment_environment_name]
-environmentName environment_name
-environmentType environment_type
-create XPath
-update XPath
-delete XPath
-append XPath
-xNodeValue xNode_value
-xmlPath XML_file
[-xServerType (PS | PDW)]
Parameters
- -de deployment_environment_name
- An optional parameter that specifies the name of the current deployment environment. If there is only one deployment environment in the WebSphere cell, you can omit this parameter.
- -environmentName environment_name
- An optional parameter that specifies the name of the IBM Process Server environment. The -environmentName parameter changes the value that was specified in the bpm.de.psServerName configuration property during initial creation of the deployment environment. The parameter only pertains to IBM Process Server deployment environments and does not pertain to Process Center deployment environments.
- -environmentType environment_type
- An optional parameter that specifies the name of the IBM Process Server environment type. The valid environment types are Development, Test, Staging, and Production. The -environmentType parameter changes the value that was specified in the bpm.de.psPurpose configuration property during initial creation of the deployment environment. The parameter only pertains to IBM Process Server deployment environments and does not pertain to Process Center deployment environments.
- -create XPath
- The XPath of an element or attribute to be created in the 100Custom.xml
file. If the parameter is specified without the -xNodeValue option, an empty
element or attribute is created. If the parameter is specified with the -xNodeValue
option, an element or attribute is created and the value specified for the option is used as either
the content for the element or the value for the attribute. Only one level can be created at a time.
You need to invoke the updateBPMConfig command several times to create an element
or attribute that is nested several levels. See the examples in the "Examples" section.Note: You can only specify one of the -create, -update, -append, and -delete parameters when running the updateBPMConfig command. However, you do not need to specify any of these parameters if you specify either the -environmentName or -environmentType parameter.
- -update XPath
- The XPath of an element or attribute to be updated in the 100Custom.xml
file. The element or attribute to be updated must already exist. The parameter must be specified
with the -xNodeValue option and the value specified for the option is used to
update the content of the element or attribute.Note: You can only specify one of the -create, -update, -append, and -delete parameters when running the updateBPMConfig command. However, you do not need to specify any of these parameters if you specify either the -environmentName or -environmentType parameter.
- -delete XPath
- The XPath of an element or attribute to be deleted in the 100Custom.xml
file.Note: You can only specify one of the -create, -update, -append, and -delete parameters when running the updateBPMConfig command. However, you do not need to specify any of these parameters if you specify either the -environmentName or -environmentType parameter.
- -append XPath
- The XPath of an element or attribute to be appended in the 100Custom.xml
file. This can be the XPath of an element that will be appended with the snippet of an XML file
specified with the -xmlPath option. Or it can be the XPath of an element or
attribute that will be appended with the specified value of the -xNodeValue option.
If the -xmlPath option is not specified, the -append parameter
has the same capability as the -create parameter to append an element or
attribute to an existing element. The only difference is that the -create
parameter does not support the creation of a duplication element under the parent node.Note: You can only specify one of the -create, -update, -append, and -delete parameters when running the updateBPMConfig command. However, you do not need to specify any of these parameters if you specify either the -environmentName or -environmentType parameter.
- -xNodeValue xNode_value
- An option that is used with the -create, -append, and -update parameters to provide content for elements or attributes in the 100Custom.xml file. The -xNodeValue option must be set for attributes but it can be omitted for elements. When it is set for elements, it specifies the element text.
- -xmlPath XML_file
- An option that specifies the path of the XML file to be appended. The option is only valid when the -append parameter is specified and the -xNodeValue option has not been set.
- -xServerType (PS | PDW)
- An optional parameter that restricts an invocation of the updateBPMConfig
command to the 100Custom.xml files of either IBM Process Server (PS) or
Performance Data Warehouse (PDW). The parameter value PS applies to both the
IBM Process Server and Process Center environments. The default value for the
-xServerType parameter is PS.Note: You can only specify this parameter when one of the -create, -update, -append, or -delete parameters has also been specified.
For examples of how to run the updateBPMConfig command and its parameters, see the "Examples" and "Performance tuning examples" sections below.
Examples
Most of the following examples are related. For instance, the updateBPMConfig -create example shows how to add an element and the updateBPMConfig -delete example shows how to remove the same element.
- The following Jython example uses the updateBPMConfig command and the
-environmentName parameter to set the environment name value for the IBM
Process Server
environment:
wsadmin -conntype none -lang jython wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-environmentName', 'myEnvironment']) wsadmin> AdminConfig.save()
- The following Jython example uses the updateBPMConfig command and the
-environmentType parameter to set the environment type value for the IBM
Process Server
environment:
wsadmin -conntype none -lang jython wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-environmentType', 'Staging']) wsadmin> AdminConfig.save()
- The following Jython example uses the updateBPMConfig and the
-create parameter to create an empty element in the
100Custom.xml
file:
The empty element that was created using the above command is shown in bold text in the following code fragment:wsadmin -conntype none -lang jython wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-create', '/common/webservices','-xServerType', 'PDW']) wsadmin> AdminConfig.save()
<properties> <common merge="mergeChildren"> <webservices></webservices> </common> </properties>
- The following Jython example uses the updateBPMConfig and the
-create parameter to create an element with content in the
100Custom.xml
file:
The element and content that were created using the above command are shown in bold text in the following code fragment:wsadmin -conntype none -lang jython wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-create', '/common/webservices/default-client-timezone', '-xNodeValue', 'GMT-08:00', '-xServerType', 'PDW']) wsadmin> AdminConfig.save()
<properties> <common merge="mergeChildren"> <webservices> <default-client-timezone>GMT-08:00</default-client-timezone> </webservices> </common> </properties>
- The following Jython example uses the updateBPMConfig and the
-create parameter to create an attribute in the
100Custom.xml
file:
The attribute that was created using the above command is shown in bold text in the following code fragment:wsadmin -conntype none -lang jython wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-create', '/common/webservices/default-client-timezone/@merge', '-xNodeValue', 'replace', '-xServerType', 'PDW']) wsadmin> AdminConfig.save()
<properties> <common merge="mergeChildren"> <webservices> <default-client-timezone merge="replace">GMT-08:00</default-client-timezone> </webservices> </common> </properties>
- The following Jython example uses the updateBPMConfig and the
-update parameter to update the content of an element in the
100Custom.xml
file:
The element content that was updated using the above command is shown in bold text in the following example:wsadmin -conntype none -lang jython wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-update', '/common/webservices/default-client-timezone', '-xNodeValue', 'GMT-05:00', '-xServerType', 'PDW']) wsadmin> AdminConfig.save()
<properties> <common merge="mergeChildren"> <webservices> <default-client-timezone>GMT-05:00</default-client-timezone> </webservices> </common> </properties>
- The following Jython example uses the updateBPMConfig and the
-update parameter to update the content of an attribute in the
100Custom.xml
file:
The attribute content that was updated using the above command is shown in bold text in the following code fragment:wsadmin -conntype none -lang jython wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-update', '/common/webservices/default-client-timezone/@merge', '-xNodeValue', 'append', '-xServerType', 'PDW']) wsadmin> AdminConfig.save()
<properties> <common merge="mergeChildren"> <webservices> <default-client-timezone merge="append">GMT-08:00</default-client-timezone> </webservices> </common> <properties>
- The following Jython example uses the updateBPMConfig and the
-delete parameter to delete an element in the
100Custom.xml
file:
The parent element that contained the element that was deleted using the above command is shown in bold text in the following code fragment:wsadmin -conntype none -lang jython wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-delete', '/common/webservices/default-client-timezone','-xServerType', 'PDW']) wsadmin> AdminConfig.save()
<properties> <common merge="mergeChildren"> <webservices></webservices> </common> </properties>
- The following Jython example uses the updateBPMConfig and the
-delete parameter to delete an attribute in the
100Custom.xml
file:
The element that contained the attribute that was deleted using the above command is shown in bold text in the following code fragment:wsadmin -conntype none -lang jython wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-delete', '/common/webservices/default-client-timezone/@merge', '-xServerType', 'PDW']) wsadmin> AdminConfig.save()
<properties> <common merge="mergeChildren"> <webservices> <default-client-timezone>GMT-08:00</default-client-timezone> </webservices> </common> <properties>
- The following Jython example uses the updateBPMConfig and the
-append parameter to append the contents of an XML file to the end of a parent
node in the 100Custom.xml
file:
The contents of the XML file that were appended to the end of the parent node using the above command are shown in bold text in the following code fragment:wsadmin -conntype none -lang jython wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-append', '/common/webservices', '-xmlPath', 'c:\JR50215.xml', '-xServerType', 'PDW']) wsadmin> AdminConfig.save()
<properties> <common merge="mergeChildren"> <webservices> <callservice-valid-services> <valid-service-entry>integration Service</valid-service-entry> </callservice-valid-services> </webservices> </common> </properties>
Performance tuning examples
- The following Jython example shows how to specify the number of simultaneous tasks that can
execute on the BPD queue. The value should be 10 multiplied by the number of virtual CPUs (10 *
#VCPUs), capped at 80. The initial factory default value is 40. Additional
information is found in the topic Event Manager configuration settings. For the commands in this
example, it is assumed that the <event-manager> element and its nested
<scheduler> elements do not yet exist in the
100Custom.xml
file.
wsadmin> AdminTask.updateBPMConfig( [ '-create', '/event-manager' ] ) wsadmin> AdminTask.updateBPMConfig( [ '-create', '/event-manager/scheduler' ] ) wsadmin> AdminTask.updateBPMConfig( [ '-create', '/event-manager/scheduler/bpd-queue-capacity', '-xNodeValue', '80' ] ) wsadmin> AdminConfig.save()
- The following Jython example shows how to specify the maximum number of threads for the engine
thread pool. The value should be 10 multiplied by the number of virtual CPUs plus 30 (10 * #VCPUs +
30), capped at 80 + 30. The initial factory default value is 70. Additional
information is found in the topic Event Manager configuration settings. For the commands in this
example, it is assumed that the <event-manager> element and its nested
<scheduler> elements already exist in the 100Custom.xml
file.
wsadmin> AdminTask.updateBPMConfig( [ '-create', '/event-manager/scheduler/max-thread-pool-size', '-xNodeValue', '110' ] ) wsadmin> AdminConfig.save()