diff --git a/src/main/java/org/springframework/data/elasticsearch/client/elc/aot/ElasticsearchClientRuntimeHints.java b/src/main/java/org/springframework/data/elasticsearch/client/elc/aot/ElasticsearchClientRuntimeHints.java index 758eeadae..95064c004 100644 --- a/src/main/java/org/springframework/data/elasticsearch/client/elc/aot/ElasticsearchClientRuntimeHints.java +++ b/src/main/java/org/springframework/data/elasticsearch/client/elc/aot/ElasticsearchClientRuntimeHints.java @@ -15,14 +15,10 @@ */ package org.springframework.data.elasticsearch.client.elc.aot; -import co.elastic.clients.elasticsearch._types.mapping.RuntimeFieldType; -import co.elastic.clients.elasticsearch._types.mapping.TypeMapping; -import co.elastic.clients.elasticsearch.indices.IndexSettings; -import co.elastic.clients.elasticsearch.indices.PutMappingRequest; + import org.springframework.aot.hint.MemberCategory; import org.springframework.aot.hint.RuntimeHints; import org.springframework.aot.hint.RuntimeHintsRegistrar; -import org.springframework.aot.hint.TypeReference; import org.springframework.lang.Nullable; /** @@ -37,10 +33,14 @@ public class ElasticsearchClientRuntimeHints implements RuntimeHintsRegistrar { public void registerHints(RuntimeHints hints, @Nullable ClassLoader classLoader) { hints.reflection() - .registerType(TypeReference.of(IndexSettings.class), builder -> builder.withField("_DESERIALIZER")) // - .registerType(TypeReference.of(PutMappingRequest.class), builder -> builder.withField("_DESERIALIZER")) // - .registerType(TypeReference.of(RuntimeFieldType.class), builder -> builder.withField("_DESERIALIZER"))// - .registerType(TypeReference.of(TypeMapping.class), builder -> builder.withField("_DESERIALIZER")) // + .registerTypeIfPresent(classLoader, "co.elastic.clients.elasticsearch.indices.IndexSettings", + builder -> builder.withField("_DESERIALIZER")) // + .registerTypeIfPresent(classLoader, "co.elastic.clients.elasticsearch.indices.PutMappingRequest", + builder -> builder.withField("_DESERIALIZER")) // + .registerTypeIfPresent(classLoader, "co.elastic.clients.elasticsearch._types.mapping.RuntimeFieldType", + builder -> builder.withField("_DESERIALIZER"))// + .registerTypeIfPresent(classLoader, "co.elastic.clients.elasticsearch._types.mapping.TypeMapping", + builder -> builder.withField("_DESERIALIZER")) // ; hints.serialization() //