Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-3205

Xml Model API does not sync DOM Access

    XMLWordPrintable

Details

    Description

      Problem Description:

      • the dom implementation (Apache Xerxes) is not thread safe, even for read only access. See also [1]
      • camunda engine provides API which allows multiple threads to access the same model element instance.

      => Exceptions related to concurrent access of Dom Implementation classes.

      Example:

      Caused by: java.lang.NullPointerException
      at org.apache.xerces.dom.ParentNode.nodeListGetLength(Unknown Source)
      at org.apache.xerces.dom.ParentNode.getLength(Unknown Source)
      at org.camunda.bpm.model.xml.impl.util.DomUtil.filterNodeList(DomUtil.java:135)
      at org.camunda.bpm.model.xml.impl.util.DomUtil.filterNodeListForElements(DomUtil.java:153)
      at org.camunda.bpm.model.xml.impl.instance.DomElementImpl.getChildElements(DomElementImpl.java:91)
      at org.camunda.bpm.model.bpmn.impl.instance.ExtensionElementsImpl.getElements(ExtensionElementsImpl.java:56)
      at org.camunda.bpm.model.bpmn.impl.instance.ExtensionElementsImpl.getElementsQuery(ExtensionElementsImpl.java:60)

      Workarounds:

      • synchronize Model API access

      [1] http://xerces.apache.org/xerces2-j/faq-dom.html#faq-1

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Activity

            People

              sebastian.menski Sebastian Menski
              meyer Daniel Meyer
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Salesforce