Package io.quarkus.mongodb.deployment
Class MongoClientProcessor
- java.lang.Object
-
- io.quarkus.mongodb.deployment.MongoClientProcessor
-
public class MongoClientProcessor extends Object
-
-
Constructor Summary
Constructors Constructor Description MongoClientProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) List<ReflectiveClassBuildItem>addExtensionPointsToNative(CodecProviderBuildItem codecProviders, PropertyCodecProviderBuildItem propertyCodecProviders, BsonDiscriminatorBuildItem bsonDiscriminators, CommandListenerBuildItem commandListeners)(package private) HealthBuildItemaddHealthCheck(MongoClientBuildTimeConfig buildTimeConfig)(package private) voidadditionalBeans(BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> additionalBeans)(package private) voidbuild(MongoClientRecorder recorder, SslNativeConfigBuildItem sslNativeConfig, CodecProviderBuildItem codecProvider, PropertyCodecProviderBuildItem propertyCodecProvider, BsonDiscriminatorBuildItem bsonDiscriminator, CommandListenerBuildItem commandListener, List<MongoConnectionPoolListenerBuildItem> connectionPoolListenerProvider, BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> additionalBeanBuildItemProducer, BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeanBuildItemBuildProducer)(package private) BsonDiscriminatorBuildItemcollectBsonDiscriminators(CombinedIndexBuildItem indexBuildItem)(package private) CodecProviderBuildItemcollectCodecProviders(CombinedIndexBuildItem indexBuildItem)(package private) CommandListenerBuildItemcollectCommandListeners(CombinedIndexBuildItem indexBuildItem, MongoClientBuildTimeConfig buildTimeConfig, Capabilities capabilities)(package private) PropertyCodecProviderBuildItemcollectPropertyCodecProviders(CombinedIndexBuildItem indexBuildItem)(package private) voidconnectionNames(List<MongoClientNameBuildItem> mongoClientNames, BuildProducer<MongoConnectionNameBuildItem> mongoConnections)(package private) FeatureBuildItemfeature()(package private) voidgenerateClientBeans(MongoClientRecorder recorder, io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem registrationPhase, List<MongoClientNameBuildItem> mongoClientNames, MongoClientBuildTimeConfig mongoClientBuildTimeConfig, MongodbConfig mongodbConfig, List<MongoUnremovableClientsBuildItem> mongoUnremovableClientsBuildItem, BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeanBuildItemBuildProducer, VertxBuildItem vertxBuildItem)(package private) AdditionalIndexedClassesBuildItemincludeBsonTypesToIndex()(package private) AdditionalIndexedClassesBuildItemincludeDnsTypesToIndex()voidmongoClientNames(CombinedIndexBuildItem indexBuildItem, BuildProducer<MongoClientNameBuildItem> mongoClientName)(package private) List<MongoClientBuildItem>mongoClients(MongoClientRecorder recorder, List<MongoConnectionNameBuildItem> mongoConnections, io.quarkus.arc.deployment.BeanContainerBuildItem beanContainer)We only create the bytecode that returns Mongo clients when MongoClientBuildItem is used This is an optimization in order to avoid having to make all mongo client beans unremovable by default.voidregisterDnsProvider(BuildProducer<NativeImageResourceBuildItem> nativeProducer)(package private) voidregisterServiceBinding(Capabilities capabilities, BuildProducer<ServiceProviderBuildItem> buildProducer)(package private) voidruntimeInitializedClasses(BuildProducer<RuntimeInitializedClassBuildItem> runtimeInitializedClasses)(package private) MongoConnectionPoolListenerBuildItemsetupMetrics(MongoClientBuildTimeConfig buildTimeConfig, MongoClientRecorder recorder, Optional<MetricsCapabilityBuildItem> metricsCapability)(package private) ExtensionSslNativeSupportBuildItemssl()(package private) MongoUnremovableClientsBuildItemunremovable(BuildProducer<MongoClientBuildItem> producer)WhenMongoClientBuildItemis actually consumed by the build, then we need to make all the Mongo client beans unremovable, because they can be potentially used by the consumers
-
-
-
Method Detail
-
includeBsonTypesToIndex
AdditionalIndexedClassesBuildItem includeBsonTypesToIndex()
-
includeDnsTypesToIndex
AdditionalIndexedClassesBuildItem includeDnsTypesToIndex()
-
registerDnsProvider
public void registerDnsProvider(BuildProducer<NativeImageResourceBuildItem> nativeProducer)
-
collectCodecProviders
CodecProviderBuildItem collectCodecProviders(CombinedIndexBuildItem indexBuildItem)
-
collectPropertyCodecProviders
PropertyCodecProviderBuildItem collectPropertyCodecProviders(CombinedIndexBuildItem indexBuildItem)
-
collectBsonDiscriminators
BsonDiscriminatorBuildItem collectBsonDiscriminators(CombinedIndexBuildItem indexBuildItem)
-
collectCommandListeners
CommandListenerBuildItem collectCommandListeners(CombinedIndexBuildItem indexBuildItem, MongoClientBuildTimeConfig buildTimeConfig, Capabilities capabilities)
-
addExtensionPointsToNative
List<ReflectiveClassBuildItem> addExtensionPointsToNative(CodecProviderBuildItem codecProviders, PropertyCodecProviderBuildItem propertyCodecProviders, BsonDiscriminatorBuildItem bsonDiscriminators, CommandListenerBuildItem commandListeners)
-
mongoClientNames
public void mongoClientNames(CombinedIndexBuildItem indexBuildItem, BuildProducer<MongoClientNameBuildItem> mongoClientName)
-
feature
FeatureBuildItem feature()
-
ssl
ExtensionSslNativeSupportBuildItem ssl()
-
setupMetrics
MongoConnectionPoolListenerBuildItem setupMetrics(MongoClientBuildTimeConfig buildTimeConfig, MongoClientRecorder recorder, Optional<MetricsCapabilityBuildItem> metricsCapability)
-
additionalBeans
void additionalBeans(BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> additionalBeans)
-
connectionNames
void connectionNames(List<MongoClientNameBuildItem> mongoClientNames, BuildProducer<MongoConnectionNameBuildItem> mongoConnections)
-
build
void build(MongoClientRecorder recorder, SslNativeConfigBuildItem sslNativeConfig, CodecProviderBuildItem codecProvider, PropertyCodecProviderBuildItem propertyCodecProvider, BsonDiscriminatorBuildItem bsonDiscriminator, CommandListenerBuildItem commandListener, List<MongoConnectionPoolListenerBuildItem> connectionPoolListenerProvider, BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> additionalBeanBuildItemProducer, BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeanBuildItemBuildProducer)
-
generateClientBeans
void generateClientBeans(MongoClientRecorder recorder, io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem registrationPhase, List<MongoClientNameBuildItem> mongoClientNames, MongoClientBuildTimeConfig mongoClientBuildTimeConfig, MongodbConfig mongodbConfig, List<MongoUnremovableClientsBuildItem> mongoUnremovableClientsBuildItem, BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeanBuildItemBuildProducer, VertxBuildItem vertxBuildItem)
-
mongoClients
List<MongoClientBuildItem> mongoClients(MongoClientRecorder recorder, List<MongoConnectionNameBuildItem> mongoConnections, io.quarkus.arc.deployment.BeanContainerBuildItem beanContainer)
We only create the bytecode that returns Mongo clients when MongoClientBuildItem is used This is an optimization in order to avoid having to make all mongo client beans unremovable by default. When the build consumes MongoClientBuildItem, then we need to make the all clients unremovable by default, because they are not referenced by CDI injection points
-
unremovable
MongoUnremovableClientsBuildItem unremovable(BuildProducer<MongoClientBuildItem> producer)
WhenMongoClientBuildItemis actually consumed by the build, then we need to make all the Mongo client beans unremovable, because they can be potentially used by the consumers
-
addHealthCheck
HealthBuildItem addHealthCheck(MongoClientBuildTimeConfig buildTimeConfig)
-
registerServiceBinding
void registerServiceBinding(Capabilities capabilities, BuildProducer<ServiceProviderBuildItem> buildProducer)
-
runtimeInitializedClasses
void runtimeInitializedClasses(BuildProducer<RuntimeInitializedClassBuildItem> runtimeInitializedClasses)
-
-