From e03ce469d3c42fcf477985104c257cc6244dec32 Mon Sep 17 00:00:00 2001 From: Oliver Drotbohm Date: Tue, 12 May 2020 09:01:14 +0200 Subject: [PATCH] DATACMNS-1722 - More defensive lookup of XmlBeamHttpMessageConverter. We now avoid a type reference to XmlBeamHttpMessageConverter in a field within SpringDataWebConfiguration to avoid a type reference to a potentially unresolvable type. This seems to have caused issues on certain JDK 14 builds [0]. [0] https://github.com/spring-projects/spring-framework/issues/25050 --- .../data/web/config/SpringDataWebConfiguration.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java b/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java index 82663efd4..0c7ee695f 100644 --- a/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java +++ b/src/main/java/org/springframework/data/web/config/SpringDataWebConfiguration.java @@ -65,7 +65,6 @@ public class SpringDataWebConfiguration implements WebMvcConfigurer, BeanClassLo private @Autowired Optional pageableResolverCustomizer; private @Autowired Optional sortResolverCustomizer; - private @Autowired Optional xmlBeamHttpMessageConverter; public SpringDataWebConfiguration(ApplicationContext context, @Qualifier("mvcConversionService") ObjectFactory conversionService) { @@ -168,7 +167,9 @@ public class SpringDataWebConfiguration implements WebMvcConfigurer, BeanClassLo } if (ClassUtils.isPresent("org.xmlbeam.XBProjector", context.getClassLoader())) { - converters.add(0, xmlBeamHttpMessageConverter.orElseGet(() -> new XmlBeamHttpMessageConverter())); + + converters.add(0, context.getBeanProvider(XmlBeamHttpMessageConverter.class) // + .getIfAvailable(() -> new XmlBeamHttpMessageConverter())); } }