Package io.quarkus.mongodb.deployment
Class MongoClientProcessor
java.lang.Object
io.quarkus.mongodb.deployment.MongoClientProcessor
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) List<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> addExtensionPointsToNative(CodecProviderBuildItem codecProviders, PropertyCodecProviderBuildItem propertyCodecProviders, BsonDiscriminatorBuildItem bsonDiscriminators, CommandListenerBuildItem commandListeners, ContextProviderBuildItem contextProviders) (package private) io.quarkus.smallrye.health.deployment.spi.HealthBuildItemaddHealthCheck(MongoClientBuildTimeConfig buildTimeConfig) (package private) voidadditionalBeans(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> additionalBeans) (package private) voidbuild(io.quarkus.mongodb.runtime.MongoClientRecorder recorder, io.quarkus.deployment.builditem.SslNativeConfigBuildItem sslNativeConfig, CodecProviderBuildItem codecProvider, PropertyCodecProviderBuildItem propertyCodecProvider, BsonDiscriminatorBuildItem bsonDiscriminator, CommandListenerBuildItem commandListener, ContextProviderBuildItem contextProvider, List<MongoConnectionPoolListenerBuildItem> connectionPoolListenerProvider, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> additionalBeanBuildItemProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeanBuildItemBuildProducer) (package private) BsonDiscriminatorBuildItemcollectBsonDiscriminators(io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem) (package private) CodecProviderBuildItemcollectCodecProviders(io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem) (package private) CommandListenerBuildItemcollectCommandListeners(io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem) (package private) ContextProviderBuildItemcollectContextProviders(io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem) (package private) PropertyCodecProviderBuildItemcollectPropertyCodecProviders(io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem) (package private) voidconnectionNames(List<MongoClientNameBuildItem> mongoClientNames, io.quarkus.deployment.annotations.BuildProducer<MongoConnectionNameBuildItem> mongoConnections) (package private) io.quarkus.deployment.builditem.FeatureBuildItemfeature()(package private) voidgenerateClientBeans(io.quarkus.mongodb.runtime.MongoClientRecorder recorder, io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem registrationPhase, List<MongoClientNameBuildItem> mongoClientNames, MongoClientBuildTimeConfig mongoClientBuildTimeConfig, List<MongoUnremovableClientsBuildItem> mongoUnremovableClientsBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeanBuildItemBuildProducer, io.quarkus.vertx.deployment.VertxBuildItem vertxBuildItem) (package private) io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItem(package private) io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItem(package private) io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItemincludeMongoCommandListener(MongoClientBuildTimeConfig buildTimeConfig) (package private) voidincludeMongoCommandMetricListener(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItem> additionalIndexedClasses, MongoClientBuildTimeConfig buildTimeConfig, Optional<io.quarkus.deployment.metrics.MetricsCapabilityBuildItem> metricsCapability) voidmongoClientNames(io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem, io.quarkus.deployment.annotations.BuildProducer<MongoClientNameBuildItem> mongoClientName) (package private) List<MongoClientBuildItem> mongoClients(io.quarkus.mongodb.runtime.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.(package private) io.quarkus.deployment.builditem.ModuleEnableNativeAccessBuildItemvoidregisterDnsProvider(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem> nativeProducer) (package private) voidregisterServiceBinding(io.quarkus.deployment.Capabilities capabilities, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem> buildProducer) (package private) voidruntimeInitializedClasses(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem> runtimeInitializedClasses) (package private) MongoConnectionPoolListenerBuildItemsetupMetrics(MongoClientBuildTimeConfig buildTimeConfig, io.quarkus.mongodb.runtime.MongoClientRecorder recorder, Optional<io.quarkus.deployment.metrics.MetricsCapabilityBuildItem> metricsCapability) (package private) io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItemssl()(package private) MongoUnremovableClientsBuildItemunremovable(io.quarkus.deployment.annotations.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(package private) voidvalidateMongoConfigCustomizers(io.quarkus.arc.deployment.BeanDiscoveryFinishedBuildItem beans, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.ValidationPhaseBuildItem.ValidationErrorBuildItem> validation) Ensure we have at most one customizer per Mongo client.
-
Constructor Details
-
MongoClientProcessor
public MongoClientProcessor()
-
-
Method Details
-
includeBsonTypesToIndex
io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItem includeBsonTypesToIndex() -
includeDnsTypesToIndex
io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItem includeDnsTypesToIndex() -
includeMongoCommandListener
io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItem includeMongoCommandListener(MongoClientBuildTimeConfig buildTimeConfig) -
includeMongoCommandMetricListener
void includeMongoCommandMetricListener(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.AdditionalIndexedClassesBuildItem> additionalIndexedClasses, MongoClientBuildTimeConfig buildTimeConfig, Optional<io.quarkus.deployment.metrics.MetricsCapabilityBuildItem> metricsCapability) -
registerDnsProvider
public void registerDnsProvider(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem> nativeProducer) -
collectCodecProviders
CodecProviderBuildItem collectCodecProviders(io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem) -
collectPropertyCodecProviders
PropertyCodecProviderBuildItem collectPropertyCodecProviders(io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem) -
collectBsonDiscriminators
BsonDiscriminatorBuildItem collectBsonDiscriminators(io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem) -
collectCommandListeners
CommandListenerBuildItem collectCommandListeners(io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem) -
collectContextProviders
ContextProviderBuildItem collectContextProviders(io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem) -
addExtensionPointsToNative
List<io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem> addExtensionPointsToNative(CodecProviderBuildItem codecProviders, PropertyCodecProviderBuildItem propertyCodecProviders, BsonDiscriminatorBuildItem bsonDiscriminators, CommandListenerBuildItem commandListeners, ContextProviderBuildItem contextProviders) -
mongoClientNames
public void mongoClientNames(io.quarkus.deployment.builditem.CombinedIndexBuildItem indexBuildItem, io.quarkus.deployment.annotations.BuildProducer<MongoClientNameBuildItem> mongoClientName) -
feature
io.quarkus.deployment.builditem.FeatureBuildItem feature() -
ssl
io.quarkus.deployment.builditem.ExtensionSslNativeSupportBuildItem ssl() -
setupMetrics
MongoConnectionPoolListenerBuildItem setupMetrics(MongoClientBuildTimeConfig buildTimeConfig, io.quarkus.mongodb.runtime.MongoClientRecorder recorder, Optional<io.quarkus.deployment.metrics.MetricsCapabilityBuildItem> metricsCapability) -
additionalBeans
void additionalBeans(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> additionalBeans) -
connectionNames
void connectionNames(List<MongoClientNameBuildItem> mongoClientNames, io.quarkus.deployment.annotations.BuildProducer<MongoConnectionNameBuildItem> mongoConnections) -
build
void build(io.quarkus.mongodb.runtime.MongoClientRecorder recorder, io.quarkus.deployment.builditem.SslNativeConfigBuildItem sslNativeConfig, CodecProviderBuildItem codecProvider, PropertyCodecProviderBuildItem propertyCodecProvider, BsonDiscriminatorBuildItem bsonDiscriminator, CommandListenerBuildItem commandListener, ContextProviderBuildItem contextProvider, List<MongoConnectionPoolListenerBuildItem> connectionPoolListenerProvider, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.AdditionalBeanBuildItem> additionalBeanBuildItemProducer, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeanBuildItemBuildProducer) -
generateClientBeans
void generateClientBeans(io.quarkus.mongodb.runtime.MongoClientRecorder recorder, io.quarkus.arc.deployment.BeanRegistrationPhaseBuildItem registrationPhase, List<MongoClientNameBuildItem> mongoClientNames, MongoClientBuildTimeConfig mongoClientBuildTimeConfig, List<MongoUnremovableClientsBuildItem> mongoUnremovableClientsBuildItem, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.SyntheticBeanBuildItem> syntheticBeanBuildItemBuildProducer, io.quarkus.vertx.deployment.VertxBuildItem vertxBuildItem) -
mongoClients
List<MongoClientBuildItem> mongoClients(io.quarkus.mongodb.runtime.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(io.quarkus.deployment.annotations.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
io.quarkus.smallrye.health.deployment.spi.HealthBuildItem addHealthCheck(MongoClientBuildTimeConfig buildTimeConfig) -
registerServiceBinding
void registerServiceBinding(io.quarkus.deployment.Capabilities capabilities, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem> buildProducer) -
runtimeInitializedClasses
void runtimeInitializedClasses(io.quarkus.deployment.annotations.BuildProducer<io.quarkus.deployment.builditem.nativeimage.RuntimeInitializedClassBuildItem> runtimeInitializedClasses) -
validateMongoConfigCustomizers
void validateMongoConfigCustomizers(io.quarkus.arc.deployment.BeanDiscoveryFinishedBuildItem beans, io.quarkus.deployment.annotations.BuildProducer<io.quarkus.arc.deployment.ValidationPhaseBuildItem.ValidationErrorBuildItem> validation) Ensure we have at most one customizer per Mongo client.- Parameters:
beans- the beansvalidation- the producer used to report issues
-
mongoCryptEnableNativeAccess
io.quarkus.deployment.builditem.ModuleEnableNativeAccessBuildItem mongoCryptEnableNativeAccess()
-