Missing Application Dependencies

You can have missing application dependencies when user applications have outstanding process instances when upgrading or when upgrading a sub-process application when a version of the parent process application is preparing to undeploy.

Upgrading ActiveMatrix BPM when user applications have outstanding process instances, causing the application to enter a "Preparing to Undeploy" state. This can result in the following error when somebody attempts to open a work item:

Cannot find classloader map for WorkType ...

Procedure

  1. Run the nodeutil utility to identify and fix missing application dependencies.
    The utility is installed in the TIBCO_HOME\amx\version\bin folder. See "Invoking the NodeUtil Utility" in TIBCO ActiveMatrix BPM SOA Administration Guide.
  2. On each machine that is part of the ActiveMatrix BPM system:
    1. Install nodeutil.
    2. Using TIBCO Administrator, stop the BPM node that is running on this machine.
      Warning: You must stop the BPM node before using nodeutil. Not doing so may cause a severe error.
    3. Run the following nodeutil command to identify any (user or product) application components that have missing dependencies: updateDependencies -dryRun -nodeName nodename -tibcoHostInstanceFolder foldername where:
      • nodename is the node on which you want to execute the command.
      • foldername is the path to the tibcohost instance.
      If missing dependencies exist, you will see one or more entries like this.
      > updateDependencies -dryRun -nodeName BPMNode -tibcoHostInstanceFolder "C:/ProgramData/tibco/data/tibcohost/Admin-AMX BPM-AMX BPM Server/"
      Updating following components on node "BPMNode" from application "*" with version "*" (dry-run)
          "urn:amx:BPMEnvironment/com.example.exampleprocesses/WorkPresentation_1.0.0.201104211443" > old dependency: "urn:amx:BPMEnvironment/amx.bpm.app/WorkManager/implementation.presentation/implementation.wp_1.1.2.001", new dependency: "urn:amx:BPMEnvironment/amx.bpm.app/WorkManager/implementation.presentation/implementation.wp_1.4.0.001"
      "urn:amx:BPMEnvironment/com.example.exampleprocesses/WorkPresentation_1.0.0.201104211443" > old dependency: "urn:amx:BPMEnvironment/amx.bpm.app/WorkManager/implementation.presentation/implementation.pageflowengine_1.1.2.001", new dependency: "urn:amx:BPMEnvironment/amx.bpm.app/WorkManager/implementation.presentation/implementation.pageflowengine_1.4.0.001"
      "urn:amx:BPMEnvironment/com.example.exampleprocesses/ExampleProcessFlow_1.0.0.201104211443" > old dependency: "urn:amx:BPMEnvironment/amx.bpm.app/WorkManager/extension.usertask_1.1.1.001", new dependency: "urn:amx:BPMEnvironment/amx.bpm.app/WorkManager/extension.usertask_1.4.0.001"
      Each entry identifies the affected component, its old dependency and its new dependency.
    4. If missing dependencies are identified, run the following nodeutil command to resolve them: updateDependencies
    5. To verify that there are now no outstanding dependencies, run: updateDependencies -dryRun -nodeName nodename -tibcoHostInstanceFolder foldername
      This time, there should be no entries listed. For example:
      > updateDependencies -dryRun -nodeName BPMNode -tibcoHostInstanceFolder "C:/ProgramData/tibco/data/tibcohost/Admin-AMX BPM-AMX BPM Server/"
      Updating following components on node "BPMNode" from application "*" with version "*" (dry-run)
      >
    6. Using TIBCO Administrator, restart the BPM node that is running on this machine.