Perform a rollback of the given transaction.
If the transaction wasn't a new one, just set it rollback-only for proper participation in the surrounding transaction. If a previous transaction has been suspended to be able to create a new one, resume the previous transaction after rolling back the new one.
Do not call rollback on a transaction if commit threw an exception. The transaction will already have been completed and cleaned up when commit returns, even in case of a commit exception. Consequently, a rollback call after commit failure will lead to an IllegalTransactionStateException.
@param status object returned by the getTransaction
method
@throws TransactionSystemException in case of rollback or system errors(typically caused by fundamental resource failures)
@throws IllegalTransactionStateException if the given transactionis already completed (that is, committed or rolled back)