Pregunta

I utilizar las anotaciones a los métodos de marca que se deben ejecutar en una transacción.

Sin embargo, en un lugar que tiene que hacer manualmente transactionManager.rollback(), sin anotación. ¿Cómo puedo obtener transactionManager objeto?

¿Fue útil?

Solución

Si desea deshacer la transacción actual, puede utilizar

    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

Tenga en cuenta que no retrotraer la transacción de inmediato - que establece el "rollback estado de" sólo, por lo que la transacción se deshace durante la tentativa de cometer.


De lo contrario, si usted necesita un demaracation transacciones programáticas, es posible utilizar TransactionTemplate, como se describe en 10,6 programático de gestión de transacciones .

También se puede obtener una instancia de PlatformTransactionManager, pero no se utiliza ampliamente desde TransactionTemplate es un enfoque recomendado para demaracation transacciones programáticas.

Ver también:

Otros consejos

Si el objeto está configurado para la primavera que podría inyectar por supuesto un TransactionManager en ella ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top