Platform BZ for https://issues.jboss.org/browse/JBPM-4439 ---------------------------------------------------------- Multiple RuntimeEngines are not disposed properly when created in the same Transaction. When a RuntimeEngine is created there is a transaction synchronization (DisposeSessionTransactionSynchronization) created to dipose it after the transaction commits. All instances of DisposeSessionTransactionSynchronization are identical according to their compareTo method, which is what the TransactionSynchronizationContainer uses when storing them. So only one synchronization gets stored and when the transaction commits there are stale runtime engines present.
commits backported to 6.0.x branch drools: 6.0x: https://github.com/droolsjbpm/drools/commit/2f092e1a4821abef76521a87399398a6e3e99bc8 jbpm 6.0.x: https://github.com/droolsjbpm/jbpm/commit/b753d4c3337e6a41399f046966ebef85f9ca0ed2
This bugzilla was target to a one-off patch and was verified by Ivo, see #c3. Setting to verified status and updating its target release to one-off. Bugzilla which tracks the fix in 6.1 is BZ1142943 (also mentioned in "See also" section). Bugzilla which tracks the fix in 6.0.3 rollup patch #2 is BZ1175901.