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 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 100Custom configuration files.

Prerequisites

The following conditions must be met:

  • In a network deployment environment, run the command on the deployment manager node. In a single-server environment, run the command 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 Workflow 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 Workflow Server deployment environments and does not pertain to Workflow Center deployment environments.
-environmentType environment_type
An optional parameter that specifies the name of the Workflow 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 Workflow Server deployment environments and does not pertain to Workflow 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 Workflow Server (PS) or Performance Data Warehouse (PDW). The parameter value PS applies to both the Workflow Server and Workflow 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.

Examples

Note: The examples are for illustrative purposes only.
Note: The document root for the XPaths is always /properties, which can be omitted from the command syntax.

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 Workflow 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 Workflow 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:
    wsadmin -conntype none -lang jython
    wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-create', '/common/webservices','-xServerType', 'PDW'])
    wsadmin> AdminConfig.save()
    The empty element that was created using the above command is shown in bold text in the following code fragment:
    <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:
    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()
    The element and content that were created using the above command are shown in bold text in the following code fragment:
    <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:
    wsadmin -conntype none -lang jython
    wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-create', '/common/webservices/default-client-timezone/@merge', '-xNodeValue', 'replace', '-xServerType', 'PDW'])
    wsadmin> AdminConfig.save()
    The attribute that was created using the above command is shown in bold text in the following code fragment:
    <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:
    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()
    The element content that was updated using the above command is shown in bold text in the following example:
    <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:
    wsadmin -conntype none -lang jython
    wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-update', '/common/webservices/default-client-timezone/@merge', '-xNodeValue', 'append', '-xServerType', 'PDW'])  
    wsadmin> AdminConfig.save()
    The attribute content that was updated using the above command is shown in bold text in the following code fragment:
    <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:
    wsadmin -conntype none -lang jython
    wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-delete', '/common/webservices/default-client-timezone','-xServerType', 'PDW'])
    wsadmin> AdminConfig.save()
    The parent element that contained the element that was deleted using the above command is shown in bold text in the following code fragment:
    <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:
    wsadmin -conntype none -lang jython
    wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-delete', '/common/webservices/default-client-timezone/@merge', '-xServerType', 'PDW'])
    wsadmin> AdminConfig.save()
    The element that contained the attribute that was deleted using the above command is shown in bold text in the following code fragment:
    <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:
    wsadmin -conntype none -lang jython
    wsadmin> AdminTask.updateBPMConfig(['-de', 'De1', '-append', '/common/webservices', '-xmlPath', 'c:\JR50215.xml', '-xServerType', 'PDW'])
    wsadmin> AdminConfig.save()
    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:
    <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

Note: The examples are for illustrative purposes only.
  • 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()