Browse Source

Polish

pull/28744/head
Johnny Lim 4 years ago
parent
commit
1205f53c4a
  1. 10
      spring-web/src/main/java/org/springframework/http/codec/CodecConfigurerHintsRegistrar.java
  2. 12
      spring-web/src/main/java/org/springframework/http/converter/json/JacksonBuilderRuntimeHintsRegistrar.java
  3. 23
      spring-websocket/src/main/java/org/springframework/web/socket/server/support/HandshakeHandlerRuntimeHintsRegistrar.java

10
spring-web/src/main/java/org/springframework/http/codec/CodecConfigurerHintsRegistrar.java

@ -36,10 +36,12 @@ public class CodecConfigurerHintsRegistrar implements RuntimeHintsRegistrar { @@ -36,10 +36,12 @@ public class CodecConfigurerHintsRegistrar implements RuntimeHintsRegistrar {
@Override
public void registerHints(RuntimeHints hints, @Nullable ClassLoader classLoader) {
hints.resources().registerPattern("org/springframework/http/codec/CodecConfigurer.properties");
hints.reflection().registerType(DefaultClientCodecConfigurer.class, builder ->
builder.onReachableType(TypeReference.of(CodecConfigurerFactory.class))
.withMembers(MemberCategory.INVOKE_PUBLIC_CONSTRUCTORS));
hints.reflection().registerType(DefaultServerCodecConfigurer.class, builder ->
registerType(hints, DefaultClientCodecConfigurer.class);
registerType(hints, DefaultServerCodecConfigurer.class);
}
private void registerType(RuntimeHints hints, Class<?> type) {
hints.reflection().registerType(type, builder ->
builder.onReachableType(TypeReference.of(CodecConfigurerFactory.class))
.withMembers(MemberCategory.INVOKE_PUBLIC_CONSTRUCTORS));
}

12
spring-web/src/main/java/org/springframework/http/converter/json/JacksonBuilderRuntimeHintsRegistrar.java

@ -33,11 +33,13 @@ public class JacksonBuilderRuntimeHintsRegistrar implements RuntimeHintsRegistra @@ -33,11 +33,13 @@ public class JacksonBuilderRuntimeHintsRegistrar implements RuntimeHintsRegistra
@Override
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
ReflectionHints reflectionHints = hints.reflection();
reflectionHints.registerType(TypeReference.of("com.fasterxml.jackson.datatype.jdk8.Jdk8Module"),
builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS));
reflectionHints.registerType(TypeReference.of("com.fasterxml.jackson.datatype.jsr310.JavaTimeModule"),
builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS));
reflectionHints.registerType(TypeReference.of("com.fasterxml.jackson.module.kotlin.KotlinModule"),
registerType(reflectionHints, "com.fasterxml.jackson.datatype.jdk8.Jdk8Module");
registerType(reflectionHints, "com.fasterxml.jackson.datatype.jsr310.JavaTimeModule");
registerType(reflectionHints, "com.fasterxml.jackson.module.kotlin.KotlinModule");
}
private void registerType(ReflectionHints reflectionHints, String className) {
reflectionHints.registerType(TypeReference.of(className),
builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS));
}
}

23
spring-websocket/src/main/java/org/springframework/web/socket/server/support/HandshakeHandlerRuntimeHintsRegistrar.java

@ -64,28 +64,27 @@ public class HandshakeHandlerRuntimeHintsRegistrar implements RuntimeHintsRegist @@ -64,28 +64,27 @@ public class HandshakeHandlerRuntimeHintsRegistrar implements RuntimeHintsRegist
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
ReflectionHints reflectionHints = hints.reflection();
if (tomcatWsPresent) {
reflectionHints.registerType(TypeReference.of("org.springframework.web.socket.server.standard.TomcatRequestUpgradeStrategy"),
builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS));
registerType(reflectionHints, "org.springframework.web.socket.server.standard.TomcatRequestUpgradeStrategy");
}
else if (jettyWsPresent) {
reflectionHints.registerType(TypeReference.of("org.springframework.web.socket.server.jetty.JettyRequestUpgradeStrategy"),
builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS));
registerType(reflectionHints, "org.springframework.web.socket.server.jetty.JettyRequestUpgradeStrategy");
}
else if (undertowWsPresent) {
reflectionHints.registerType(TypeReference.of("org.springframework.web.socket.server.standard.UndertowRequestUpgradeStrategy"),
builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS));
registerType(reflectionHints, "org.springframework.web.socket.server.standard.UndertowRequestUpgradeStrategy");
}
else if (glassfishWsPresent) {
reflectionHints.registerType(TypeReference.of("org.springframework.web.socket.server.standard.GlassFishRequestUpgradeStrategy"),
builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS));
registerType(reflectionHints, "org.springframework.web.socket.server.standard.GlassFishRequestUpgradeStrategy");
}
else if (weblogicWsPresent) {
reflectionHints.registerType(TypeReference.of("org.springframework.web.socket.server.standard.WebLogicRequestUpgradeStrategy"),
builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS));
registerType(reflectionHints, "org.springframework.web.socket.server.standard.WebLogicRequestUpgradeStrategy");
}
else if (websphereWsPresent) {
reflectionHints.registerType(TypeReference.of("org.springframework.web.socket.server.standard.WebSphereRequestUpgradeStrategy"),
builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS));
registerType(reflectionHints, "org.springframework.web.socket.server.standard.WebSphereRequestUpgradeStrategy");
}
}
private void registerType(ReflectionHints reflectionHints, String className) {
reflectionHints.registerType(TypeReference.of(className),
builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS));
}
}

Loading…
Cancel
Save