For implementors, it is recommended to derive from the provided
AbstractPlatformTransactionManager class, which pre-implements the defined
propagation behavior and completely handles transaction synchronization.
Subclasses have to implement template methods for specific states of the
underlying transaction, for example: begin, suspend, resume, commit.
The default implementations of this strategy interface are
JtaTransactionManager and DataSourceTransactionManager, which can serve
as implementation guide for other transaction strategies.