@Override
    public void rollbackTransaction(GlobalTransaction tx, Throwable ex)
            throws TransactionException, TransactionalExecutor.ExecutionException {
        triggerBeforeRollback(tx);
        tx.rollback();
        triggerAfterRollback(tx);
        // Successfully rolled back
    }
@Test
    public void testRollbackTransaction() {
        MockedStatic<TransactionHookManager> enhancedTransactionHookManager = Mockito.mockStatic(TransactionHookManager.class);
        enhancedTransactionHookManager.when(TransactionHookManager::getHooks).thenReturn(Collections.singletonList(new MockTransactionHook()));
        MockGlobalTransaction mockGlobalTransaction = new MockGlobalTransaction();
        Assertions.assertDoesNotThrow(() -> sagaTransactionalTemplate.rollbackTransaction(mockGlobalTransaction, null));
        enhancedTransactionHookManager.close();
    }