From f7c137dc081bcdcf843f42cf544463501440288b Mon Sep 17 00:00:00 2001 From: Markus Heiden Date: Tue, 19 Mar 2024 14:52:07 +0100 Subject: [PATCH] Unwrap target user class --- .../AbstractFallbackTransactionAttributeSource.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/spring-tx/src/main/java/org/springframework/transaction/interceptor/AbstractFallbackTransactionAttributeSource.java b/spring-tx/src/main/java/org/springframework/transaction/interceptor/AbstractFallbackTransactionAttributeSource.java index f89e0399ae1d..465d713aa798 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/interceptor/AbstractFallbackTransactionAttributeSource.java +++ b/spring-tx/src/main/java/org/springframework/transaction/interceptor/AbstractFallbackTransactionAttributeSource.java @@ -178,7 +178,11 @@ protected TransactionAttribute computeTransactionAttribute(Method method, @Nulla } // Second try is the transaction attribute on the target class. - txAttr = findTransactionAttribute(targetClass != null ? targetClass : specificMethod.getDeclaringClass()); + Class specificTargetClass = method.getDeclaringClass(); + if (targetClass != null) { + specificTargetClass = ClassUtils.getUserClass(targetClass); + } + txAttr = findTransactionAttribute(specificTargetClass); if (txAttr != null && ClassUtils.isUserLevelMethod(method)) { return txAttr; }