The action pipeline is capable of running either in a transaction or by itself. To perform the former, a service must have a JCA listener attached to it with the transact property set to true. It must also be told how to retrieve the TransactionManager when running in an application server. This can be accomplished by running JNDI look-up.
When working in the action pipeline, transactions can be rolled back during the commit phase which occurs after all the onSuccess methods of the actions are called. The entire pipeline can still fail and rollback during commit phase which would cause the message to retry the pipe.