The tokens can be in any order. Propagation and isolation codes
must use the names of the constants in the TransactionDefinition class. Timeout values
are in seconds. If no timeout is specified, the transaction manager will apply a default
timeout specific to the particular transaction manager.

A "+" before an exception name substring indicates that transactions should commit
even if this exception is thrown; a "-" that they should roll back.