class JpaLocalTxnInterceptor
extends java.lang.Object
implements org.aopalliance.intercept.MethodInterceptor
Modifier and Type | Class and Description |
---|---|
private static class |
JpaLocalTxnInterceptor.Internal |
Modifier and Type | Field and Description |
---|---|
private java.lang.ThreadLocal<java.lang.Boolean> |
didWeStartWork |
private JpaPersistService |
emProvider |
private UnitOfWork |
unitOfWork |
Constructor and Description |
---|
JpaLocalTxnInterceptor() |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
invoke(org.aopalliance.intercept.MethodInvocation methodInvocation) |
private Transactional |
readTransactionMetadata(org.aopalliance.intercept.MethodInvocation methodInvocation) |
private boolean |
rollbackIfNecessary(Transactional transactional,
java.lang.Exception e,
javax.persistence.EntityTransaction txn)
Returns True if rollback DID NOT HAPPEN (i.e.
|
@Inject private JpaPersistService emProvider
@Inject private UnitOfWork unitOfWork
private final java.lang.ThreadLocal<java.lang.Boolean> didWeStartWork
public java.lang.Object invoke(org.aopalliance.intercept.MethodInvocation methodInvocation) throws java.lang.Throwable
invoke
in interface org.aopalliance.intercept.MethodInterceptor
java.lang.Throwable
private Transactional readTransactionMetadata(org.aopalliance.intercept.MethodInvocation methodInvocation)
private boolean rollbackIfNecessary(Transactional transactional, java.lang.Exception e, javax.persistence.EntityTransaction txn)
transactional
- The metadata annotaiton of the methode
- The exception to test for rollbacktxn
- A JPA Transaction to issue rollbacks on