Ah, I guess that's why I actually called commit previously, where I falsely assumed that the tx would be marked as rollback if we failed to create commands. I'd like something like this then:

    try {
        createTransactionCommands();
    } catch ( Throwable t ) {
        transactionManager.setRollbackOnly();
    } finally {
        transactionManager.commit();
    }