Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-5517

Seam exception and transaction handling in JBPM integration is not correct for failed EL expression evaluation

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Critical
    • Resolution: Done
    • Affects Version/s: EAP 5.0.1, EAP_EWP 5.1.0
    • Fix Version/s: EAP_EWP 5.1.1
    • Component/s: Seam2
    • Labels:
    • Affects:
      Release Notes
    • Release Notes Text:
      Hide
      If any exception occurred while a Seam EL expression was being evaluated during the jbpm-jpdl process definition, JBPM's transaction handling sometimes committed transactions that should have been rolled back. Rollback only occurred on the Seam side, because Seam tried to close the JBPM Context while the JBPM process was committing. Seam now closes the JPBM context immediately after rolling back the transaction, and the dirty commits no longer occur.
      Show
      If any exception occurred while a Seam EL expression was being evaluated during the jbpm-jpdl process definition, JBPM's transaction handling sometimes committed transactions that should have been rolled back. Rollback only occurred on the Seam side, because Seam tried to close the JBPM Context while the JBPM process was committing. Seam now closes the JPBM context immediately after rolling back the transaction, and the dirty commits no longer occur.
    • Release Notes Docs Status:
      Documented as Resolved Issue

      Description

      Seam is fully transactional framework and integration with JBPM 3 doesn't fully respect this. If an exception happens in parsing or evaluating of EL expression specified in JBPM process definition (like in action execution), JBPM context and related dirty operations in JBPM persistence doesn't follow the Seam processes for exception handling - rollback is done on Seam side, but while closing JBPM context, JBPM process is trying to commit dirty state in followed transaction, which Seam opens for post process exception handling and destroying of contexts at HTTP request end lifecycle.

      For that case there is requirement on Seam side to close JBPM context while Seam is doing rollback and not later when new transaction is started.

      Current Seam handling only catches EL exceptions which is individually handled by JSF on frontend. This is of course bad in case of Seam asynchronous invocation in JBPM process definition, because it is not invoked in JSF context and root exception is swallowed. Related issue for asynchronous processing is JBPAPP-5410.

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            manaRH Marek Novotny added a comment -

            asynchronous prove of this issue

            Show
            manaRH Marek Novotny added a comment - asynchronous prove of this issue
            Hide
            manaRH Marek Novotny added a comment -

            JBPM side of fixing this issue

            Show
            manaRH Marek Novotny added a comment - JBPM side of fixing this issue
            Hide
            manaRH Marek Novotny added a comment -

            This final solution of the issue depends on jbpm3 upgrade to 3.2.10, from SOAP 5.1.0 release at the end of January.

            Show
            manaRH Marek Novotny added a comment - This final solution of the issue depends on jbpm3 upgrade to 3.2.10, from SOAP 5.1.0 release at the end of January.
            Hide
            laubai Laura Bailey added a comment -

            Edited release note text. Thanks Marek!

            Show
            laubai Laura Bailey added a comment - Edited release note text. Thanks Marek!
            Hide
            maschmid Marek Schmidt added a comment -

            Verified for EAP_EWP 5.1.1 ER1, by integration test

            Show
            maschmid Marek Schmidt added a comment - Verified for EAP_EWP 5.1.1 ER1, by integration test

              People

              • Assignee:
                manaRH Marek Novotny
                Reporter:
                manaRH Marek Novotny
                Writer:
                Laura Bailey
              • Votes:
                1 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Development