From 38555df3d8d76d7e6c237541c9a0155014c8f06b Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Sat, 8 Nov 2025 09:53:17 +0100 Subject: [PATCH] Fix Aware exclusion check to apply to interface method only See gh-35780 --- .../interceptor/AbstractFallbackJCacheOperationSource.java | 2 +- .../cache/interceptor/AbstractFallbackCacheOperationSource.java | 2 +- .../interceptor/AbstractFallbackTransactionAttributeSource.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-context-support/src/main/java/org/springframework/cache/jcache/interceptor/AbstractFallbackJCacheOperationSource.java b/spring-context-support/src/main/java/org/springframework/cache/jcache/interceptor/AbstractFallbackJCacheOperationSource.java index ada4c5ecc3d..ed65ed263fd 100644 --- a/spring-context-support/src/main/java/org/springframework/cache/jcache/interceptor/AbstractFallbackJCacheOperationSource.java +++ b/spring-context-support/src/main/java/org/springframework/cache/jcache/interceptor/AbstractFallbackJCacheOperationSource.java @@ -99,7 +99,7 @@ public abstract class AbstractFallbackJCacheOperationSource implements JCacheOpe return null; } // Skip methods declared on BeanFactoryAware and co. - if (Aware.class.isAssignableFrom(method.getDeclaringClass())) { + if (method.getDeclaringClass().isInterface() && Aware.class.isAssignableFrom(method.getDeclaringClass())) { return null; } diff --git a/spring-context/src/main/java/org/springframework/cache/interceptor/AbstractFallbackCacheOperationSource.java b/spring-context/src/main/java/org/springframework/cache/interceptor/AbstractFallbackCacheOperationSource.java index 0db22a2eea0..548b9c15d56 100644 --- a/spring-context/src/main/java/org/springframework/cache/interceptor/AbstractFallbackCacheOperationSource.java +++ b/spring-context/src/main/java/org/springframework/cache/interceptor/AbstractFallbackCacheOperationSource.java @@ -141,7 +141,7 @@ public abstract class AbstractFallbackCacheOperationSource implements CacheOpera return null; } // Skip methods declared on BeanFactoryAware and co. - if (Aware.class.isAssignableFrom(method.getDeclaringClass())) { + if (method.getDeclaringClass().isInterface() && Aware.class.isAssignableFrom(method.getDeclaringClass())) { return null; } 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 f6288470167..f5a60c2e33b 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 @@ -168,7 +168,7 @@ public abstract class AbstractFallbackTransactionAttributeSource return null; } // Skip methods declared on BeanFactoryAware and co. - if (Aware.class.isAssignableFrom(method.getDeclaringClass())) { + if (method.getDeclaringClass().isInterface() && Aware.class.isAssignableFrom(method.getDeclaringClass())) { return null; }