fix RetryingTransactionAspect

This commit is contained in:
2024-11-14 11:16:28 -05:00
parent fd8e1535d5
commit a07079f17d
6 changed files with 60 additions and 15 deletions
@@ -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() {
}
@Around("isTransactionalAnnotated() || isJtaTransactionalAnnotated() || isTransactionalRetryableAnnotated()")
/**
* A @Pointcunt annotation is not recognized in super classes.
*/
//@Pointcut("@annotation(com.inteligr8.alfresco.annotations.TransactionalRetryable) && execution(* *(..))")
public abstract void 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);
-2
View File
@@ -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>