fix RetryingTransactionAspect
This commit is contained in:
parent
fd8e1535d5
commit
a07079f17d
@ -9,9 +9,6 @@ import org.alfresco.repo.transaction.RetryingTransactionHelper;
|
||||
import org.alfresco.repo.transaction.RetryingTransactionHelper.RetryingTransactionCallback;
|
||||
import org.alfresco.service.transaction.TransactionService;
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.annotation.Around;
|
||||
import org.aspectj.lang.annotation.DeclarePrecedence;
|
||||
import org.aspectj.lang.annotation.Pointcut;
|
||||
import org.aspectj.lang.reflect.MethodSignature;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@ -41,7 +38,6 @@ import com.inteligr8.alfresco.annotations.util.TransactionalAnnotationAdapter;
|
||||
* @see org.springframework.transaction.annotation.Transactional
|
||||
* @see com.inteligr8.alfresco.annotations.TransactionalRetryable
|
||||
*/
|
||||
@DeclarePrecedence("com.inteligr8.alfresco.annotations.aspect.AuthorizedAspect, com.inteligr8.alfresco.annotations.aspect.RetryingTransactionAspect")
|
||||
public abstract class AbstractRetryingTransactionAspect {
|
||||
|
||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||
@ -54,17 +50,24 @@ public abstract class AbstractRetryingTransactionAspect {
|
||||
|
||||
public abstract String getJtaInterfaceName();
|
||||
|
||||
@Pointcut("@annotation(org.springframework.transaction.annotation.Transactional) && execution(* *(..))")
|
||||
public void isTransactionalAnnotated() {
|
||||
}
|
||||
/**
|
||||
* A @Pointcunt annotation is not recognized in super classes.
|
||||
*/
|
||||
//@Pointcut("@annotation(org.springframework.transaction.annotation.Transactional) && execution(* *(..))")
|
||||
public abstract void isTransactionalAnnotated();
|
||||
|
||||
public abstract void isJtaTransactionalAnnotated();
|
||||
|
||||
@Pointcut("@annotation(com.inteligr8.alfresco.annotations.TransactionalRetryable) && execution(* *(..))")
|
||||
public void isTransactionalRetryableAnnotated() {
|
||||
}
|
||||
/**
|
||||
* A @Pointcunt annotation is not recognized in super classes.
|
||||
*/
|
||||
//@Pointcut("@annotation(com.inteligr8.alfresco.annotations.TransactionalRetryable) && execution(* *(..))")
|
||||
public abstract void isTransactionalRetryableAnnotated();
|
||||
|
||||
@Around("isTransactionalAnnotated() || isJtaTransactionalAnnotated() || isTransactionalRetryableAnnotated()")
|
||||
/**
|
||||
* An @Around annotation is not recognized in super classes.
|
||||
*/
|
||||
//@Around("isTransactionalAnnotated() || isJtaTransactionalAnnotated() || isTransactionalRetryableAnnotated()")
|
||||
public Object retryingTransactional(ProceedingJoinPoint joinPoint) throws Throwable {
|
||||
this.logger.trace("retryingTransactional({})", joinPoint);
|
||||
|
||||
|
@ -13,7 +13,5 @@
|
||||
<aspect name="com.inteligr8.alfresco.annotations.aspect.NodeTypeAspect" />
|
||||
<aspect name="com.inteligr8.alfresco.annotations.aspect.NodeAspectAspect" />
|
||||
<aspect name="com.inteligr8.alfresco.annotations.aspect.ChildIsPrimaryAspect" />
|
||||
|
||||
<aspect name="com.inteligr8.alfresco.annotations.aspect.RetryingTransactionAspect" />
|
||||
</aspects>
|
||||
</aspectj>
|
@ -1,6 +1,9 @@
|
||||
package com.inteligr8.alfresco.annotations.aspect;
|
||||
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.annotation.Around;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.aspectj.lang.annotation.DeclarePrecedence;
|
||||
import org.aspectj.lang.annotation.Pointcut;
|
||||
|
||||
import jakarta.transaction.Transactional;
|
||||
@ -9,6 +12,7 @@ import jakarta.transaction.Transactional;
|
||||
* @see jakarta.transaction.Transactional
|
||||
*/
|
||||
@Aspect
|
||||
@DeclarePrecedence("com.inteligr8.alfresco.annotations.aspect.AuthorizedAspect, com.inteligr8.alfresco.annotations.aspect.RetryingTransactionAspect")
|
||||
public class RetryingTransactionAspect extends AbstractRetryingTransactionAspect {
|
||||
|
||||
@Override
|
||||
@ -16,8 +20,21 @@ public class RetryingTransactionAspect extends AbstractRetryingTransactionAspect
|
||||
return Transactional.class.getName();
|
||||
}
|
||||
|
||||
@Pointcut("@annotation(org.springframework.transaction.annotation.Transactional) && execution(* *(..))")
|
||||
public void isTransactionalAnnotated() {
|
||||
}
|
||||
|
||||
@Pointcut("@annotation(jakarta.transaction.Transactional) && execution(* *(..))")
|
||||
public void isJtaTransactionalAnnotated() {
|
||||
}
|
||||
|
||||
@Pointcut("@annotation(com.inteligr8.alfresco.annotations.TransactionalRetryable) && execution(* *(..))")
|
||||
public void isTransactionalRetryableAnnotated() {
|
||||
}
|
||||
|
||||
@Around("isTransactionalAnnotated() || isJtaTransactionalAnnotated() || isTransactionalRetryableAnnotated()")
|
||||
public Object retryingTransactional(ProceedingJoinPoint joinPoint) throws Throwable {
|
||||
return super.retryingTransactional(joinPoint);
|
||||
}
|
||||
|
||||
}
|
||||
|
5
jakarta/src/main/resources/META-INF/aop.xml
Normal file
5
jakarta/src/main/resources/META-INF/aop.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<aspectj>
|
||||
<aspects>
|
||||
<aspect name="com.inteligr8.alfresco.annotations.aspect.RetryingTransactionAspect" />
|
||||
</aspects>
|
||||
</aspectj>
|
@ -1,12 +1,16 @@
|
||||
package com.inteligr8.alfresco.annotations.aspect;
|
||||
|
||||
import org.aspectj.lang.ProceedingJoinPoint;
|
||||
import org.aspectj.lang.annotation.Around;
|
||||
import org.aspectj.lang.annotation.Aspect;
|
||||
import org.aspectj.lang.annotation.DeclarePrecedence;
|
||||
import org.aspectj.lang.annotation.Pointcut;
|
||||
|
||||
/**
|
||||
* @see javax.transaction.Transactional
|
||||
*/
|
||||
@Aspect
|
||||
@DeclarePrecedence("com.inteligr8.alfresco.annotations.aspect.AuthorizedAspect, com.inteligr8.alfresco.annotations.aspect.RetryingTransactionAspect")
|
||||
public class RetryingTransactionAspect extends AbstractRetryingTransactionAspect {
|
||||
|
||||
@Override
|
||||
@ -14,8 +18,21 @@ public class RetryingTransactionAspect extends AbstractRetryingTransactionAspect
|
||||
return javax.transaction.Transactional.class.getName();
|
||||
}
|
||||
|
||||
@Pointcut("@annotation(org.springframework.transaction.annotation.Transactional) && execution(* *(..))")
|
||||
public void isTransactionalAnnotated() {
|
||||
}
|
||||
|
||||
@Pointcut("@annotation(javax.transaction.Transactional) && execution(* *(..))")
|
||||
public void isJtaTransactionalAnnotated() {
|
||||
}
|
||||
|
||||
@Pointcut("@annotation(com.inteligr8.alfresco.annotations.TransactionalRetryable) && execution(* *(..))")
|
||||
public void isTransactionalRetryableAnnotated() {
|
||||
}
|
||||
|
||||
@Around("isTransactionalAnnotated() || isJtaTransactionalAnnotated() || isTransactionalRetryableAnnotated()")
|
||||
public Object retryingTransactional(ProceedingJoinPoint joinPoint) throws Throwable {
|
||||
return super.retryingTransactional(joinPoint);
|
||||
}
|
||||
|
||||
}
|
||||
|
5
javax/src/main/resources/META-INF/aop.xml
Normal file
5
javax/src/main/resources/META-INF/aop.xml
Normal file
@ -0,0 +1,5 @@
|
||||
<aspectj>
|
||||
<aspects>
|
||||
<aspect name="com.inteligr8.alfresco.annotations.aspect.RetryingTransactionAspect" />
|
||||
</aspects>
|
||||
</aspectj>
|
Loading…
x
Reference in New Issue
Block a user