Class MongoClientProcessor

java.lang.Object
io.quarkus.mongodb.deployment.MongoClientProcessor

public class MongoClientProcessor extends Object
  • 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)
      When MongoClientBuildItem is 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 beans
      validation - the producer used to report issues
    • mongoCryptEnableNativeAccess

      io.quarkus.deployment.builditem.ModuleEnableNativeAccessBuildItem mongoCryptEnableNativeAccess()