diff --git a/core/src/main/java/com/inteligr8/alfresco/annotations/aspect/AbstractRetryingTransactionAspect.java b/core/src/main/java/com/inteligr8/alfresco/annotations/aspect/AbstractRetryingTransactionAspect.java
index f4d9859..73ab85c 100644
--- a/core/src/main/java/com/inteligr8/alfresco/annotations/aspect/AbstractRetryingTransactionAspect.java
+++ b/core/src/main/java/com/inteligr8/alfresco/annotations/aspect/AbstractRetryingTransactionAspect.java
@@ -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);
diff --git a/core/src/main/resources/META-INF/aop.xml b/core/src/main/resources/META-INF/aop.xml
index 0e07e13..71b86ab 100644
--- a/core/src/main/resources/META-INF/aop.xml
+++ b/core/src/main/resources/META-INF/aop.xml
@@ -13,7 +13,5 @@
-
-
\ No newline at end of file
diff --git a/jakarta/src/main/java/com/inteligr8/alfresco/annotations/aspect/RetryingTransactionAspect.java b/jakarta/src/main/java/com/inteligr8/alfresco/annotations/aspect/RetryingTransactionAspect.java
index 19a8d61..6faf278 100644
--- a/jakarta/src/main/java/com/inteligr8/alfresco/annotations/aspect/RetryingTransactionAspect.java
+++ b/jakarta/src/main/java/com/inteligr8/alfresco/annotations/aspect/RetryingTransactionAspect.java
@@ -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);
+ }
}
diff --git a/jakarta/src/main/resources/META-INF/aop.xml b/jakarta/src/main/resources/META-INF/aop.xml
new file mode 100644
index 0000000..a6e955a
--- /dev/null
+++ b/jakarta/src/main/resources/META-INF/aop.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/javax/src/main/java/com/inteligr8/alfresco/annotations/aspect/RetryingTransactionAspect.java b/javax/src/main/java/com/inteligr8/alfresco/annotations/aspect/RetryingTransactionAspect.java
index 2d655d1..5bcbb83 100644
--- a/javax/src/main/java/com/inteligr8/alfresco/annotations/aspect/RetryingTransactionAspect.java
+++ b/javax/src/main/java/com/inteligr8/alfresco/annotations/aspect/RetryingTransactionAspect.java
@@ -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);
+ }
}
diff --git a/javax/src/main/resources/META-INF/aop.xml b/javax/src/main/resources/META-INF/aop.xml
new file mode 100644
index 0000000..a6e955a
--- /dev/null
+++ b/javax/src/main/resources/META-INF/aop.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file