From 6d7148f6295232ca7c55d2924a050248c5b07025 Mon Sep 17 00:00:00 2001 From: Chris Bono Date: Sat, 5 Aug 2023 02:06:42 -0500 Subject: [PATCH] Add PulsarClientImplementationBindingImpl to AOT reflection hints. This allows running on GraalVM 23.1.0-dev. --- .../pulsar/reactive/aot/ReactivePulsarRuntimeHints.java | 5 +++-- .../org/springframework/pulsar/aot/PulsarRuntimeHints.java | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/spring-pulsar-reactive/src/main/java/org/springframework/pulsar/reactive/aot/ReactivePulsarRuntimeHints.java b/spring-pulsar-reactive/src/main/java/org/springframework/pulsar/reactive/aot/ReactivePulsarRuntimeHints.java index a156bffb..65a05f4c 100644 --- a/spring-pulsar-reactive/src/main/java/org/springframework/pulsar/reactive/aot/ReactivePulsarRuntimeHints.java +++ b/spring-pulsar-reactive/src/main/java/org/springframework/pulsar/reactive/aot/ReactivePulsarRuntimeHints.java @@ -24,6 +24,7 @@ import org.apache.pulsar.client.admin.internal.OffloadProcessStatusImpl; import org.apache.pulsar.client.admin.internal.PulsarAdminBuilderImpl; import org.apache.pulsar.client.api.Authentication; import org.apache.pulsar.client.api.AuthenticationDataProvider; +import org.apache.pulsar.client.impl.PulsarClientImplementationBindingImpl; import org.apache.pulsar.client.impl.conf.ClientConfigurationData; import org.apache.pulsar.client.impl.conf.ConsumerConfigurationData; import org.apache.pulsar.client.impl.conf.ProducerConfigurationData; @@ -58,8 +59,8 @@ public class ReactivePulsarRuntimeHints implements RuntimeHintsRegistrar { // some other shaded components available through Pulsar client. Stream.of(HashSet.class, TreeMap.class, Authentication.class, AuthenticationDataProvider.class, SecretsSerializer.class, NioSocketChannel.class, AbstractByteBufAllocator.class, - NioDatagramChannel.class, PulsarAdminBuilderImpl.class, OffloadProcessStatusImpl.class, Commands.class, - ReferenceCountUtil.class).forEach( + NioDatagramChannel.class, PulsarAdminBuilderImpl.class, PulsarClientImplementationBindingImpl.class, + OffloadProcessStatusImpl.class, Commands.class, ReferenceCountUtil.class).forEach( type -> reflectionHints.registerType(type, builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_DECLARED_METHODS, diff --git a/spring-pulsar/src/main/java/org/springframework/pulsar/aot/PulsarRuntimeHints.java b/spring-pulsar/src/main/java/org/springframework/pulsar/aot/PulsarRuntimeHints.java index 340fecc6..a1e256bf 100644 --- a/spring-pulsar/src/main/java/org/springframework/pulsar/aot/PulsarRuntimeHints.java +++ b/spring-pulsar/src/main/java/org/springframework/pulsar/aot/PulsarRuntimeHints.java @@ -26,6 +26,7 @@ import org.apache.pulsar.client.admin.internal.OffloadProcessStatusImpl; import org.apache.pulsar.client.admin.internal.PulsarAdminBuilderImpl; import org.apache.pulsar.client.api.Authentication; import org.apache.pulsar.client.api.AuthenticationDataProvider; +import org.apache.pulsar.client.impl.PulsarClientImplementationBindingImpl; import org.apache.pulsar.client.impl.conf.ClientConfigurationData; import org.apache.pulsar.client.impl.conf.ConsumerConfigurationData; import org.apache.pulsar.client.impl.conf.ProducerConfigurationData; @@ -56,7 +57,7 @@ public class PulsarRuntimeHints implements RuntimeHintsRegistrar { // through Pulsar client. Stream.of(HashSet.class, LinkedHashMap.class, TreeMap.class, Authentication.class, AuthenticationDataProvider.class, SecretsSerializer.class, PulsarAdminBuilderImpl.class, - OffloadProcessStatusImpl.class, Commands.class).forEach( + PulsarClientImplementationBindingImpl.class, OffloadProcessStatusImpl.class, Commands.class).forEach( type -> reflectionHints.registerType(type, builder -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_DECLARED_METHODS,