Process Halts with "... cannot be cast to..." Error

This topic describes what to do if you have a process that halts with the following error: ApplicationName.bdsutil.BDSNotifyingCalendar cannot be cast to com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl

This error occurs only if the following two conditions are met:

  • You have date/time types in a BOM for which you have set a default value.
  • Your BOM was created in version 4.2, or earlier, of TIBCO Business Studio, and you have upgraded to version 4.3, or later, of ActiveMatrix BPM.

This error is the result of ActiveMatrix Platform using classes supplied by Java 8, rather than previously supplied third-party libraries that were used in earlier versions of ActiveMatrix BPM.

There are two solutions to this problem:

  • Regenerate the DAA for your application using the version of TIBCO Business Studio to which you have upgraded (version 4.3 or later), then redeploy the application. Process instances generated from the redeployed application will not experience the error. Note, however, if there are existing process instances that have date/time types in the BOM with default values, and the instances were started before the upgrade, they may still experience the error unless they are either migrated to the new version, or you implement the second solution described below.
  • Add the -Xbootclasspath JVM property on each BPM node in your ActiveMatrix BPM system. This prevents process instances that meet the conditions listed above from halting with the "cannot be cast" error.

    To add this property:

    1. From ActiveMatrix Administrator, select Infrastructure > Nodes.
    2. Select the node in the Nodes sections.
    3. On the Configuration tab, click JVM Configuration.
    4. Add the following JVM property to the end of the string in the General Args field, then click Save:
      -Xbootclasspath/p:"TIBCO_HOME\amx\3.4\tools\gregoriancalendarpatch\com.sun.org.apache.xerces.internal.jaxp.datatype-patched.jar"

      where TIBCO_HOME must be replaced by the absolute path to your TIBCO_HOME . This path needs to be correct for each node, as TIBCO_HOME can be different for each node.

      Example:

      -Xbootclasspath/p:"C:\Program Files\tibco\amx-bpm\amx\3.4\tools\gregoriancalendarpatch\com.sun.org.apache.xerces.internal.jaxp.datatype-patched.jar"
    5. Click Install or Sync.
    6. Repeat steps 2-5 for each node.
    7. Retry any halted process instances.