Domanda

Io uso le annotazioni ai metodi marchio che dovrebbe essere eseguito in una transazione.

Ma, in un unico luogo ho bisogno di fare transactionManager.rollback() manualmente, senza annotazioni. Come posso ottenere oggetto transactionManager?

È stato utile?

Soluzione

Se si desidera eseguire il rollback della transazione corrente, puoi utilizzare

    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();

Si noti che non rollback la transazione immediatamente - si imposta il "rollback only" di stato, in modo da transazione verrà rollback durante il tentativo di commettere.


In caso contrario, se avete bisogno di un demaracation un'operazione programmatica, è possibile utilizzare TransactionTemplate, come descritto in 10,6 programmatico gestione delle transazioni .

Inoltre è possibile ottenere un'istanza di PlatformTransactionManager, ma non è ampiamente utilizzato in quanto TransactionTemplate è un approccio consigliato per programmatico demaracation transazione.

Vedi anche:

Altri suggerimenti

Se l'oggetto è configurato entro la primavera si potrebbe fuori rotta iniettare un TransactionManager in esso ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top