Package com.gruelbox.transactionoutbox
Class SpringTransactionManager
- java.lang.Object
-
- com.gruelbox.transactionoutbox.SpringTransactionManager
-
- All Implemented Interfaces:
ThreadLocalContextTransactionManager,TransactionManager
@Beta @Service public class SpringTransactionManager extends Object implements ThreadLocalContextTransactionManager
Transaction manager which uses spring-tx and Hibernate.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidinTransaction(TransactionalWork work)voidinTransaction(Runnable runnable)<T> TinTransactionReturns(TransactionalSupplier<T> supplier)<T,E extends Exception>
TinTransactionReturnsThrows(ThrowingTransactionalSupplier<T,E> work)<E extends Exception>
voidinTransactionThrows(ThrowingTransactionalWork<E> work)<T,E extends Exception>
TrequireTransactionReturns(ThrowingTransactionalSupplier<T,E> work)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.gruelbox.transactionoutbox.ThreadLocalContextTransactionManager
extractTransaction, injectTransaction, requireTransaction
-
-
-
-
Method Detail
-
inTransaction
@Transactional(propagation=REQUIRES_NEW) public void inTransaction(Runnable runnable)
- Specified by:
inTransactionin interfaceTransactionManager
-
inTransaction
@Transactional(propagation=REQUIRES_NEW) public void inTransaction(TransactionalWork work)
- Specified by:
inTransactionin interfaceTransactionManager
-
inTransactionReturns
@Transactional(propagation=REQUIRES_NEW) public <T> T inTransactionReturns(TransactionalSupplier<T> supplier)
- Specified by:
inTransactionReturnsin interfaceTransactionManager
-
inTransactionThrows
@Transactional(propagation=REQUIRES_NEW) public <E extends Exception> void inTransactionThrows(ThrowingTransactionalWork<E> work) throws E extends Exception
- Specified by:
inTransactionThrowsin interfaceTransactionManager- Throws:
E extends Exception
-
inTransactionReturnsThrows
@Transactional(propagation=REQUIRES_NEW) public <T,E extends Exception> T inTransactionReturnsThrows(ThrowingTransactionalSupplier<T,E> work) throws E extends Exception
- Specified by:
inTransactionReturnsThrowsin interfaceTransactionManager- Throws:
E extends Exception
-
requireTransactionReturns
public <T,E extends Exception> T requireTransactionReturns(ThrowingTransactionalSupplier<T,E> work) throws E extends Exception, NoTransactionActiveException
- Specified by:
requireTransactionReturnsin interfaceThreadLocalContextTransactionManager- Throws:
E extends ExceptionNoTransactionActiveException
-
-