Class MongoDocumentNodeStoreBuilderBase<T extends MongoDocumentNodeStoreBuilderBase<T>>

java.lang.Object
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreBuilder<T>
org.apache.jackrabbit.oak.plugins.document.mongo.MongoDocumentNodeStoreBuilderBase<T>
Direct Known Subclasses:
MongoDocumentNodeStoreBuilder

public abstract class MongoDocumentNodeStoreBuilderBase<T extends MongoDocumentNodeStoreBuilderBase<T>> extends DocumentNodeStoreBuilder<T>
A base builder implementation for a DocumentNodeStore backed by MongoDB.
  • Constructor Details

    • MongoDocumentNodeStoreBuilderBase

      public MongoDocumentNodeStoreBuilderBase()
  • Method Details

    • setMongoDB

      public T setMongoDB(@NotNull @NotNull String uri, @NotNull @NotNull String name, int blobCacheSizeMB)
      Uses the given information to connect to to MongoDB as backend storage for the DocumentNodeStore. The write concern is either taken from the URI or determined automatically based on the MongoDB setup. When running on a replica set without explicit write concern in the URI, the write concern will be MAJORITY, otherwise ACKNOWLEDGED.
      Parameters:
      uri - a MongoDB URI.
      name - the name of the database to connect to. This overrides any database name given in the uri.
      blobCacheSizeMB - the blob cache size in MB.
      Returns:
      this
    • setMongoDB

      public T setMongoDB(@NotNull @NotNull com.mongodb.MongoClient client, @NotNull @NotNull String dbName, int blobCacheSizeMB)
      Use the given MongoDB as backend storage for the DocumentNodeStore.
      Parameters:
      client - the MongoDB connection
      dbName - the database name
      blobCacheSizeMB - the size of the blob cache in MB.
      Returns:
      this
    • setMongoDB

      public T setMongoDB(@NotNull @NotNull com.mongodb.MongoClient client, @NotNull @NotNull String dbName)
      Use the given MongoDB as backend storage for the DocumentNodeStore.
      Parameters:
      client - the MongoDB connection
      dbName - the database name
      Returns:
      this
    • setSocketKeepAlive

      public T setSocketKeepAlive(boolean enable)
      Enables or disables the socket keep-alive option for MongoDB. The default is enabled.
      Parameters:
      enable - whether to enable or disable it.
      Returns:
      this
    • isSocketKeepAlive

      public boolean isSocketKeepAlive()
      Returns:
      whether socket keep-alive is enabled.
    • setClientSessionDisabled

      public T setClientSessionDisabled(boolean b)
      Disables the use of a client session available with MongoDB 3.6 and newer. By default the MongoDocumentStore will use a client session if available. That is, when connected to MongoDB 3.6 and newer.
      Parameters:
      b - whether to disable the use of a client session.
      Returns:
      this
    • setLeaseSocketTimeout

      public T setLeaseSocketTimeout(int timeoutMillis)
      Sets a socket timeout for lease update operations.
      Parameters:
      timeoutMillis - the socket timeout in milliseconds.
      Returns:
      this builder.
    • setMaxReplicationLag

      public T setMaxReplicationLag(long duration, TimeUnit unit)
    • setCollectionCompressionType

      public T setCollectionCompressionType(String compressionType)
    • createVersionGCSupport

      public VersionGCSupport createVersionGCSupport()
      Overrides:
      createVersionGCSupport in class DocumentNodeStoreBuilder<T extends MongoDocumentNodeStoreBuilderBase<T>>
    • createReferencedBlobs

      public Iterable<ReferencedBlob> createReferencedBlobs(DocumentNodeStore ns)
      Overrides:
      createReferencedBlobs in class DocumentNodeStoreBuilder<T extends MongoDocumentNodeStoreBuilderBase<T>>
    • createMissingLastRevSeeker

      public MissingLastRevSeeker createMissingLastRevSeeker()
      Overrides:
      createMissingLastRevSeeker in class DocumentNodeStoreBuilder<T extends MongoDocumentNodeStoreBuilderBase<T>>
    • getCollectionCompressionType

      public String getCollectionCompressionType()
    • getMongoClient

      public com.mongodb.MongoClient getMongoClient()
      Returns the MongoDB client configured in the setMongoDB(String, String, int) method.
      Returns:
      the client or null if the setMongoDB(String, String, int) method hasn't been called.