Currently DroolsBPMExchangeHandler explicitly begin its own JTA transaction when persistence is needed, but it would be good if we integrate it with Transaction Policy handling by SwitchYard runtime.
Let's say, If the implementation.bpm is marked as managedTransaction.Global or managedTransaction.Local, then bpm-service will run under managed transaction which is handled by TransactionHandler.
Otherwise(noManagedTransaction or no Implementation Transaction Policy), bpm service should manage its transaction by itself.
One thing I should make sure is, are we able to achieve Local Transaction on bpm-service? i.e. suspend the transaction before invoke other SwitchYard service from bpm process, since Local Transaction must not be propagated through the reference if managedTransaction.Local is required.