|
11 | 11 | import static org.hibernate.cfg.AvailableSettings.USE_QUERY_CACHE; |
12 | 12 | import static org.hibernate.cfg.AvailableSettings.USE_SECOND_LEVEL_CACHE; |
13 | 13 |
|
| 14 | +import io.quarkus.deployment.builditem.NativeImageFeatureBuildItem; |
| 15 | +import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem; |
| 16 | +import io.quarkus.hibernate.orm.runtime.graal.RegisterServicesForReflectionFeature; |
14 | 17 | import java.nio.file.Files; |
15 | 18 | import java.nio.file.Path; |
16 | 19 | import java.util.ArrayList; |
|
33 | 36 | import org.hibernate.cfg.AvailableSettings; |
34 | 37 | import org.hibernate.loader.BatchFetchStyle; |
35 | 38 | import org.hibernate.reactive.provider.impl.ReactiveIntegrator; |
| 39 | + |
36 | 40 | import org.jboss.logging.Logger; |
37 | 41 |
|
38 | 42 | import io.quarkus.arc.deployment.AdditionalBeanBuildItem; |
@@ -95,6 +99,17 @@ public final class HibernateReactiveProcessor { |
95 | 99 | "org.hibernate.reactive.persister.collection.impl.ReactiveBasicCollectionPersister", |
96 | 100 | }; |
97 | 101 |
|
| 102 | + @BuildStep |
| 103 | + NativeImageFeatureBuildItem registerServicesForReflection(BuildProducer<ServiceProviderBuildItem> services) { |
| 104 | + services.produce( new ServiceProviderBuildItem( |
| 105 | + "io.vertx.core.spi.VertxServiceProvider", |
| 106 | + "org.hibernate.reactive.context.impl.ContextualDataStorage" |
| 107 | + ) ); |
| 108 | + |
| 109 | + // I'm reusing the class in ORM, I don't see anything specific to it |
| 110 | + return new NativeImageFeatureBuildItem( RegisterServicesForReflectionFeature.class); |
| 111 | + } |
| 112 | + |
98 | 113 | @BuildStep |
99 | 114 | void registerBeans(BuildProducer<AdditionalBeanBuildItem> additionalBeans, CombinedIndexBuildItem combinedIndex, |
100 | 115 | List<PersistenceUnitDescriptorBuildItem> descriptors, |
|
0 commit comments