Adding a New BPM Node to an Existing System Fails Because a Resource Instance is Missing or Cannot be Installed

The BPM application (amx.bpm.app) provides a set of default resource instances and substitution variables (SVARs). Some of these default resource instances use SVARs from the Node scope. Custom BPM applications:

  • depend on amx.bpm.app.
  • may provide their own set of custom resource instances, which can themselves be configured to use custom SVARs.
Note: The term 'custom resource instance' or 'custom SVAR' means a resource instance or SVAR that is created for the sole purpose of deploying a custom BPM application.

When you add an additional BPM node to an existing distributed ActiveMatrix BPM system, both the BPM application (amx.bpm.app) and any custom BPM applications are deployed to the new node. However, there are two situations in which the upgrade process cannot resolve the dependencies needed to successfully deploy the custom BPM applications:

  • If a resource instance used by a custom application is defined at the Global or Node scope, that resource instance is not installed on the new node. (Only resource instances defined at the amx.bpm.app scope are installed.) In this case, the new BPM node is created successfully, but:
    • Any custom application that uses this resource instance remains Out-of-Sync, as it is distributed to, but not yet deployed on, the new node.
    • An error is written to the SystemNode log file (CONFIG_HOME\tibcohost\Admin-enterpriseName-adminServerName\host\logs\tibcohost.log). For example:
      com.tibco.amx.admin.api.application - TIBCO-AMX-ADMIN-012016: Deployment failed for application 'com.example.custom.app'
      
      com.tibco.amx.admin.api.application - TIBCO-AMX-ADMIN-012062: Missing resource instance 'customRI' for node 'BPMNode'. It is used by reference 'CustomPortTypeSOAP_Consumer1' binding 'CustomPortType_EP' property 'HttpOutboundConnectionConfig' for component 'rootComposite'.
  • If a resource instance used by a custom application is defined at the amx.bpm.app scope, but uses a custom SVAR that is defined at the Node scope, node creation fails. (The custom SVAR is not automatically created on the new node, which causes the creation of the new node to fail.) An error is written to the SystemNode log file - for example:
    TIBCO-AMX-CLI-000020: Error invoking bulk action deploy on Application: TIBCO-AMX-ADMIN-012354: Failed to install the resource instance for application Some substitution variables are unresolved.
    

To prevent either of these problems from occurring, you should take the following steps before attempting to add a new BPM node to an existing system:

  1. Change any custom resource instance (that has been created for a custom BPM application) to the amx.bpm.app scope.
  2. Delete any custom SVAR that is defined at the Node scope. Evaluate if that custom SVAR can be re-created at any other scope, then reconfigure all custom resource instances and custom BPM applications that use that SVAR to cope with the change.

See "Creating a Distributed ActiveMatrix BPM System > Remote Machine 2: Creating a BPM Node", in TIBCO ActiveMatrix BPM Istallation and Configuration, for more information.