diff --git a/spring-integration-core/src/main/java/org/springframework/integration/aot/CoreRuntimeHints.java b/spring-integration-core/src/main/java/org/springframework/integration/aot/CoreRuntimeHints.java index f528bab797..45c6937759 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/aot/CoreRuntimeHints.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/aot/CoreRuntimeHints.java @@ -34,6 +34,7 @@ import org.springframework.aot.hint.ReflectionHints; import org.springframework.aot.hint.RuntimeHints; import org.springframework.aot.hint.RuntimeHintsRegistrar; import org.springframework.aot.hint.SerializationHints; +import org.springframework.aot.hint.TypeReference; import org.springframework.beans.factory.config.BeanExpressionContext; import org.springframework.context.SmartLifecycle; import org.springframework.integration.aggregator.MessageGroupProcessor; @@ -101,6 +102,14 @@ class CoreRuntimeHints implements RuntimeHintsRegistrar { reflectionHints.registerType(JsonPathUtils.class, MemberCategory.INVOKE_PUBLIC_METHODS); } + reflectionHints.registerType( + TypeReference.of("org.springframework.integration.json.JsonPropertyAccessor$ComparableJsonNode"), + MemberCategory.INVOKE_PUBLIC_METHODS); + + reflectionHints.registerType( + TypeReference.of("org.springframework.integration.json.JsonPropertyAccessor$ArrayNodeAsList"), + MemberCategory.INVOKE_PUBLIC_METHODS); + // For #xpath() SpEL function reflectionHints.registerTypeIfPresent(classLoader, "org.springframework.integration.xml.xpath.XPathUtils", MemberCategory.INVOKE_PUBLIC_METHODS);