Wrap a transaction manager and provide observation of its activites. The main reason to use it is to know whenever
a transaction terminates. It is used because it is not possible to use the javax.transaction.Synchronization
callback to perform an activity that must occur after that the transaction has terminated.
javax.transaction.Synchronizationcallback to perform an activity that must occur after that the transaction has terminated.