Constraints on BPEL correlation: A workaround
By jason on Mar 25, 2009
In a previous blog entry I discussed limitations of BPEL Correlation when performing asynchronous communication within the JBI container.
Paul Perez has provided a workaround for those situations using a BPEL Bridge
This workaround works because the BPEL engine only enforces the Recoverability Systemic Quality for processes that are labelled as Atomic. If the BPEL Bridge is not atomic then it returns an ACK immediately and the original process can continue executing while waiting for the Callback.
The same thing would work if the JavaEE SE was able to differentiate between transactional and non-transactional EJBs. That is, only enforce the Recoverability Systemic Quality on EJB Service Units that are annotated as transactional. That way non-transactional EJBs would result in the ACK being returned upon receipt of the msg and not upon successful completion. (An RFE has been filed for this change).