I'm concerned about the "A task instance that starts a transaction but
fails to complete the transaction is an error. The Java EE Product
Provider is required to detect this error and abort the transaction."
addition. I believe it should be the responsibility of the task to
perform cleanup if the trans fails to complete because it has the most
knowldege about what needs to becleaned up. Consider the case where
there was already a transaction in progress
(TRANSACTION=USE_TRANSACTION_OF_EXECUTION_THREAD), should the MES only
roll back the part of the trans that failed in the task or all? How
would it know?