Skip to content

Commit 2c92d7d

Browse files
committed
Harmonize RuntimeHintsRegistrar implementations
Closes gh-28801
1 parent 44d7e27 commit 2c92d7d

File tree

26 files changed

+76
-121
lines changed

26 files changed

+76
-121
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
*
3030
* @author Brian Clozel
3131
*/
32-
class JakartaAnnotationsRuntimeHintsRegistrar implements RuntimeHintsRegistrar {
32+
class JakartaAnnotationsRuntimeHints implements RuntimeHintsRegistrar {
3333

3434
@Override
3535
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
org.springframework.beans.factory.aot.BeanFactoryInitializationAotProcessor=\
22
org.springframework.beans.factory.aot.BeanRegistrationsAotProcessor
3+
34
org.springframework.aot.hint.RuntimeHintsRegistrar=\
4-
org.springframework.beans.factory.annotation.JakartaAnnotationsRuntimeHintsRegistrar
5+
org.springframework.beans.factory.annotation.JakartaAnnotationsRuntimeHints
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,11 @@
3333
import static org.assertj.core.api.Assertions.assertThat;
3434

3535
/**
36-
* Tests for {@link JakartaAnnotationsRuntimeHintsRegistrar}.
36+
* Tests for {@link JakartaAnnotationsRuntimeHints}.
37+
*
3738
* @author Brian Clozel
3839
*/
39-
class JakartaAnnotationsRuntimeHintsRegistrarTests {
40+
class JakartaAnnotationsRuntimeHintsTests {
4041

4142
private final RuntimeHints hints = new RuntimeHints();
4243

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,11 @@
2727
* @author Sebastien Deleuze
2828
* @since 6.0
2929
*/
30-
class MimeTypeResourceHintsRegistrar implements RuntimeHintsRegistrar {
30+
class JavaMailMimeTypesRuntimeHints implements RuntimeHintsRegistrar {
3131

3232
@Override
3333
public void registerHints(RuntimeHints hints, @Nullable ClassLoader classLoader) {
3434
hints.resources().registerPattern("org/springframework/mail/javamail/mime.types");
3535
}
36+
3637
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
org.springframework.aot.hint.RuntimeHintsRegistrar= \
2-
org.springframework.mail.javamail.MimeTypeResourceHintsRegistrar
2+
org.springframework.mail.javamail.JavaMailMimeTypesRuntimeHints

spring-context/src/main/java/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@
3737
import org.springframework.aop.framework.AopInfrastructureBean;
3838
import org.springframework.aop.framework.AopProxyUtils;
3939
import org.springframework.aop.support.AopUtils;
40+
import org.springframework.aot.hint.RuntimeHints;
41+
import org.springframework.aot.hint.RuntimeHintsRegistrar;
42+
import org.springframework.aot.hint.support.RuntimeHintsUtils;
4043
import org.springframework.beans.factory.BeanFactory;
4144
import org.springframework.beans.factory.BeanFactoryAware;
4245
import org.springframework.beans.factory.BeanNameAware;
@@ -65,6 +68,7 @@
6568
import org.springframework.lang.Nullable;
6669
import org.springframework.scheduling.TaskScheduler;
6770
import org.springframework.scheduling.Trigger;
71+
import org.springframework.scheduling.annotation.ScheduledAnnotationBeanPostProcessor.ScheduledAnnotationsRuntimeHints;
6872
import org.springframework.scheduling.config.CronTask;
6973
import org.springframework.scheduling.config.FixedDelayTask;
7074
import org.springframework.scheduling.config.FixedRateTask;
@@ -107,7 +111,7 @@
107111
* @see org.springframework.scheduling.config.ScheduledTaskRegistrar
108112
* @see AsyncAnnotationBeanPostProcessor
109113
*/
110-
@ImportRuntimeHints(ScheduledAnnotationRuntimeHintsRegistrar.class)
114+
@ImportRuntimeHints(ScheduledAnnotationsRuntimeHints.class)
111115
public class ScheduledAnnotationBeanPostProcessor
112116
implements ScheduledTaskHolder, MergedBeanDefinitionPostProcessor, DestructionAwareBeanPostProcessor,
113117
Ordered, EmbeddedValueResolverAware, BeanNameAware, BeanFactoryAware, ApplicationContextAware,
@@ -607,4 +611,14 @@ public void destroy() {
607611
this.registrar.destroy();
608612
}
609613

614+
static class ScheduledAnnotationsRuntimeHints implements RuntimeHintsRegistrar {
615+
616+
@Override
617+
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
618+
RuntimeHintsUtils.registerAnnotation(hints, Scheduled.class);
619+
RuntimeHintsUtils.registerAnnotation(hints, Schedules.class);
620+
}
621+
622+
}
623+
610624
}

spring-context/src/main/java/org/springframework/scheduling/annotation/ScheduledAnnotationRuntimeHintsRegistrar.java

Lines changed: 0 additions & 37 deletions
This file was deleted.

spring-context/src/main/java/org/springframework/validation/beanvalidation/MethodValidationPostProcessor.java

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,19 @@
2323
import org.aopalliance.aop.Advice;
2424

2525
import org.springframework.aop.Pointcut;
26+
import org.springframework.aop.framework.AopProxyUtils;
2627
import org.springframework.aop.framework.autoproxy.AbstractBeanFactoryAwareAdvisingPostProcessor;
2728
import org.springframework.aop.support.DefaultPointcutAdvisor;
2829
import org.springframework.aop.support.annotation.AnnotationMatchingPointcut;
30+
import org.springframework.aot.hint.RuntimeHints;
31+
import org.springframework.aot.hint.RuntimeHintsRegistrar;
2932
import org.springframework.beans.factory.InitializingBean;
3033
import org.springframework.beans.factory.config.BeanPostProcessor;
3134
import org.springframework.context.annotation.ImportRuntimeHints;
3235
import org.springframework.lang.Nullable;
3336
import org.springframework.util.Assert;
3437
import org.springframework.validation.annotation.Validated;
38+
import org.springframework.validation.beanvalidation.MethodValidationPostProcessor.MethodValidationRuntimeHints;
3539

3640
/**
3741
* A convenient {@link BeanPostProcessor} implementation that delegates to a
@@ -58,7 +62,7 @@
5862
* @see jakarta.validation.executable.ExecutableValidator
5963
*/
6064
@SuppressWarnings("serial")
61-
@ImportRuntimeHints(MethodValidationRuntimeHintsRegistrar.class)
65+
@ImportRuntimeHints(MethodValidationRuntimeHints.class)
6266
public class MethodValidationPostProcessor extends AbstractBeanFactoryAwareAdvisingPostProcessor
6367
implements InitializingBean {
6468

@@ -127,4 +131,14 @@ protected Advice createMethodValidationAdvice(@Nullable Validator validator) {
127131
return (validator != null ? new MethodValidationInterceptor(validator) : new MethodValidationInterceptor());
128132
}
129133

134+
135+
static class MethodValidationRuntimeHints implements RuntimeHintsRegistrar {
136+
137+
@Override
138+
public void registerHints(RuntimeHints hints, @Nullable ClassLoader classLoader) {
139+
hints.proxies().registerJdkProxy(AopProxyUtils.completeJdkProxyInterfaces(Validator.class));
140+
}
141+
142+
}
143+
130144
}

spring-context/src/main/java/org/springframework/validation/beanvalidation/MethodValidationRuntimeHintsRegistrar.java

Lines changed: 0 additions & 40 deletions
This file was deleted.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
* @author Phillip Webb
3131
* @since 6.0
3232
*/
33-
class CoreAnnotationsRuntimeHintsRegistrar implements RuntimeHintsRegistrar {
33+
class CoreAnnotationsRuntimeHints implements RuntimeHintsRegistrar {
3434

3535
@Override
3636
public void registerHints(RuntimeHints hints, @Nullable ClassLoader classLoader) {

0 commit comments

Comments
 (0)