Closed
Description
Nicolas Labrot opened SPR-13475 and commented
Given this composed annotation:
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
@Cacheable
public @interface MyCacheable {
String[] cacheNames() default {};
String key() default "";
}
The resulting @Cacheable
attributes are not merged. Issue seems to come from SpringCacheAnnotationParser#parseCacheAnnotations
which does not use AnnotatedElementUtils.findMergedAnnotation(*, Cacheable.class);
.
Affects: 4.2 GA
Issue Links:
- Support multiple composed annotations on a single annotated element [SPR-13486] #17490 Support multiple composed annotations on a single annotated element ("depends on")
- Introduce predefined composed annotations in core Spring [SPR-13442] #18022 Introduce predefined composed annotations in core Spring
- Use AnnotatedElementUtils instead of AnnotationUtils wherever feasible [SPR-13440] #18020 Use AnnotatedElementUtils instead of AnnotationUtils wherever feasible
- Support @ResponseStatus as a merged composed annotation [SPR-13441] #18021 Support
@ResponseStatus
as a merged composed annotation - Support @CrossOrigin as a merged composed annotation [SPR-13468] #18047 Support
@CrossOrigin
as a merged composed annotation - @CacheConfig(cacheNames) broken when used on interface [SPR-14781] #19347
@CacheConfig
(cacheNames) broken when used on interface - Cache annotation lookup in 4.3 finds more annotations than in 4.2 [SPR-14801] #19367 Cache annotation lookup in 4.3 finds more annotations than in 4.2
- Support repeatable annotations as composed annotations [SPR-13973] #18545 Support repeatable annotations as composed annotations
- AnnotationFormatterFactory should support @AliasFor [SPR-14844] #19410 AnnotationFormatterFactory should support
@AliasFor
- Support @AliasFor for @JmsListener attributes [SPR-13803] #18376 Support
@AliasFor
for@JmsListener
attributes
Referenced from: commits ea09e57, 59c88eb, 54703bf
1 votes, 7 watchers