See gh-42095
This commit is contained in:
arefbehboudi 2024-09-03 12:27:39 +03:30 committed by Andy Wilkinson
parent e7d6bd6ccd
commit aa83bbee3d
2 changed files with 14 additions and 20 deletions

View File

@ -121,26 +121,20 @@ class ServletComponentRegisteringPostProcessor
@Override @Override
public BeanFactoryInitializationAotContribution processAheadOfTime(ConfigurableListableBeanFactory beanFactory) { public BeanFactoryInitializationAotContribution processAheadOfTime(ConfigurableListableBeanFactory beanFactory) {
return new BeanFactoryInitializationAotContribution() { return (generationContext, beanFactoryInitializationCode) -> {
for (String beanName : beanFactory.getBeanDefinitionNames()) {
@Override BeanDefinition definition = beanFactory.getBeanDefinition(beanName);
public void applyTo(GenerationContext generationContext, if (Objects.equals(definition.getBeanClassName(),
BeanFactoryInitializationCode beanFactoryInitializationCode) { WebListenerHandler.ServletComponentWebListenerRegistrar.class.getName())) {
for (String beanName : beanFactory.getBeanDefinitionNames()) { String listenerClassName = (String) definition.getConstructorArgumentValues()
BeanDefinition definition = beanFactory.getBeanDefinition(beanName); .getArgumentValue(0, String.class)
if (Objects.equals(definition.getBeanClassName(), .getValue();
WebListenerHandler.ServletComponentWebListenerRegistrar.class.getName())) { generationContext.getRuntimeHints()
String listenerClassName = (String) definition.getConstructorArgumentValues() .reflection()
.getArgumentValue(0, String.class) .registerType(TypeReference.of(listenerClassName),
.getValue(); MemberCategory.INVOKE_DECLARED_CONSTRUCTORS);
generationContext.getRuntimeHints()
.reflection()
.registerType(TypeReference.of(listenerClassName),
MemberCategory.INVOKE_DECLARED_CONSTRUCTORS);
}
} }
} }
}; };
} }

View File

@ -321,12 +321,12 @@ public class ErrorPageFilter implements Filter, ErrorPageRegistry, Ordered {
} }
@Override @Override
public void sendError(int status) throws IOException { public void sendError(int status) {
sendError(status, null); sendError(status, null);
} }
@Override @Override
public void sendError(int status, String message) throws IOException { public void sendError(int status, String message) {
this.status = status; this.status = status;
this.message = message; this.message = message;
this.hasErrorToSend = true; this.hasErrorToSend = true;