Stéphane Nicoll opened SPR-17207 and commented
Condition evaluation currently doesn't support @Repeatable
. The first thing I found is ConditionEvaluator#shouldSkip
calls !metadata.isAnnotated(Conditional.class.getName())
which returns true for some reason when it is invoked with a modified version of @Profile
that is @Repeatable
.
I am not entirely sold on the idea as, for instance, adding @Profile
would probably be over the top considering the profile expression we've introduced in Spring Framework 5.1. It might be useful for others, though (support for repeatable @ConfigurationProperty
is quite popular on the Spring Boot issue tracker).
Affects: 5.0.8
0 votes, 5 watchers
Comment From: spring-projects-issues
Juergen Hoeller commented
As for the existing behavior, a repeatable annotation is technically a container annotation with nested conditions inside... and unless we specifically check for that through the corresponding AnnotatedElementUtis
variant, our common meta-annotation check is only going to search the container annotation, not the nested ones.