-
Notifications
You must be signed in to change notification settings - Fork 38.8k
Closed
Labels
in: coreIssues in core modules (aop, beans, core, context, expression)Issues in core modules (aop, beans, core, context, expression)status: backportedAn issue that has been backported to maintenance branchesAn issue that has been backported to maintenance branchestype: bugA general bugA general bug
Milestone
Description
Lev Bornovalov opened SPR-14162 and commented
To reproduce:
Call the following proxied method:
@Caching
public void someMethod(final String argument) {
....
}
This will cause the following exception:
java.lang.NullPointerException: null
at java.util.ArrayList.addAll(ArrayList.java:577) ~[na:1.8.0_20]
at org.springframework.cache.annotation.SpringCacheAnnotationParser.parseCacheAnnotations(SpringCacheAnnotationParser.java:89) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.cache.annotation.SpringCacheAnnotationParser.parseCacheAnnotations(SpringCacheAnnotationParser.java:58) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.cache.annotation.AnnotationCacheOperationSource$2.getCacheOperations(AnnotationCacheOperationSource.java:124) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.cache.annotation.AnnotationCacheOperationSource.determineCacheOperations(AnnotationCacheOperationSource.java:142) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.cache.annotation.AnnotationCacheOperationSource.findCacheOperations(AnnotationCacheOperationSource.java:121) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.cache.interceptor.AbstractFallbackCacheOperationSource.computeCacheOperations(AbstractFallbackCacheOperationSource.java:136) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.cache.interceptor.AbstractFallbackCacheOperationSource.getCacheOperations(AbstractFallbackCacheOperationSource.java:97) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.cache.interceptor.CacheOperationSourcePointcut.matches(CacheOperationSourcePointcut.java:39) ~[spring-context-4.2.3.RELEASE.jar:4.2.3.RELEASE]
at org.springframework.aop.support.MethodMatchers.matches(MethodMatchers.java:94) ~[spring-aop-4.2.3.RELEASE.jar:4.2.3.RELEASE]
Although you may be thinking that including an empty @Caching annotation is a corner-case, in our particular use-case, it's required, as we're calling a custom implementation of org.springframework.cache.interceptor.CacheInterceptor. We are doing this because the @CacheEvict funtionality does not allow use to easily purge individual keys based on method args, etc...
Affects: 3.2.16, 4.2.3
Issue Links:
- @RequestHeader HttpHeaders fails with NPE against null header value [SPR-14091] #18663
@RequestHeaderHttpHeaders fails with NPE against null header value
Referenced from: commits 3d6b0ca, da11261, 33dcef3
Backported to: 3.2.17
Metadata
Metadata
Assignees
Labels
in: coreIssues in core modules (aop, beans, core, context, expression)Issues in core modules (aop, beans, core, context, expression)status: backportedAn issue that has been backported to maintenance branchesAn issue that has been backported to maintenance branchestype: bugA general bugA general bug