Interface ReactiveMongoDatabaseFactory

All Superinterfaces:
CodecRegistryProvider
All Known Implementing Classes:
SimpleReactiveMongoDatabaseFactory

public interface ReactiveMongoDatabaseFactory extends CodecRegistryProvider
Interface for factories creating reactive MongoDatabase instances.
Since:
2.0
Author:
Mark Paluch, Christoph Strobl, Mathieu Ouellet
  • Method Details

    • create

      static SimpleReactiveMongoDatabaseFactory create(String connectionString)
      Creates a new SimpleReactiveMongoDatabaseFactory instance for the given connectionString. Using this factory method will create a new MongoClient instance that will be closed when calling SimpleReactiveMongoDatabaseFactory.destroy().
      Parameters:
      connectionString - connection coordinates for a database connection. Must contain a database name and must not be null or empty.
      Since:
      4.5.2
      See Also:
    • create

      static SimpleReactiveMongoDatabaseFactory create(com.mongodb.ConnectionString connectionString)
      Creates a new SimpleReactiveMongoDatabaseFactory instance from the given MongoClient. Using this factory will create a new MongoClient instance that will be closed when calling SimpleReactiveMongoDatabaseFactory.destroy().
      Parameters:
      connectionString - connection coordinates for a database connection. Must contain also a database name and not be null.
      Since:
      4.5.2
    • create

      static ReactiveMongoDatabaseFactory create(com.mongodb.reactivestreams.client.MongoClient mongoClient, String databaseName)
      Creates a new MongoDatabaseFactory instance from the given MongoClient. We assume a managed client instance that will be disposed by you (or the application container) once the client is no longer required for use.
      Parameters:
      mongoClient - must not be null.
      databaseName - must not be null or empty.
      Since:
      4.5.2
    • getMongoDatabase

      Mono<com.mongodb.reactivestreams.client.MongoDatabase> getMongoDatabase() throws DataAccessException
      Creates a default MongoDatabase instance.
      Returns:
      never null.
      Throws:
      DataAccessException
    • getMongoDatabase

      Mono<com.mongodb.reactivestreams.client.MongoDatabase> getMongoDatabase(String dbName) throws DataAccessException
      Obtain a MongoDatabase instance to access the database with the given name.
      Parameters:
      dbName - must not be null or empty.
      Returns:
      never null.
      Throws:
      DataAccessException
    • getExceptionTranslator

      PersistenceExceptionTranslator getExceptionTranslator()
      Exposes a shared MongoExceptionTranslator.
      Returns:
      will never be null.
    • getCodecRegistry

      org.bson.codecs.configuration.CodecRegistry getCodecRegistry()
      Get the underlying CodecRegistry used by the reactive MongoDB Java driver.
      Specified by:
      getCodecRegistry in interface CodecRegistryProvider
      Returns:
      never null.
    • getSession

      Mono<com.mongodb.reactivestreams.client.ClientSession> getSession(com.mongodb.ClientSessionOptions options)
      Obtain a Mono emitting a ClientSession for given options.
      Parameters:
      options - must not be null.
      Returns:
      never null.
      Since:
      2.1
    • withSession

      ReactiveMongoDatabaseFactory withSession(com.mongodb.reactivestreams.client.ClientSession session)
      Obtain a ClientSession bound instance of ReactiveMongoDatabaseFactory returning MongoDatabase instances that are aware and bound to the given session.
      Parameters:
      session - must not be null.
      Returns:
      never null.
      Since:
      2.1
    • isTransactionActive

      default boolean isTransactionActive()
      Returns if the given ReactiveMongoDatabaseFactory is bound to a ClientSession that has an active transaction.
      Returns:
      true if there's an active transaction, false otherwise.
      Since:
      2.2