Class MongoDbReplicaSet

java.lang.Object
io.debezium.testing.testcontainers.MongoDbReplicaSet
All Implemented Interfaces:
MongoDbDeployment, AutoCloseable, org.testcontainers.lifecycle.Startable

public class MongoDbReplicaSet extends Object implements MongoDbDeployment
A MongoDB replica set.
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • name

      private final String name
    • memberCount

      private final int memberCount
    • configServer

      private final boolean configServer
    • network

      private final org.testcontainers.containers.Network network
    • portResolver

      private final PortResolver portResolver
    • members

      private final List<MongoDbContainer> members
    • started

      private boolean started
  • Constructor Details

  • Method Details

    • replicaSet

      public static MongoDbReplicaSet.Builder replicaSet()
    • getName

      public String getName()
    • getDependencies

      public Set<org.testcontainers.lifecycle.Startable> getDependencies()
      Specified by:
      getDependencies in interface org.testcontainers.lifecycle.Startable
    • getConnectionString

      public String getConnectionString()
      Specified by:
      getConnectionString in interface MongoDbDeployment
      Returns:
      the standard connection string to the replica set, comprised of only the mongod hosts.
    • getMembers

      public List<MongoDbContainer> getMembers()
      Returns the replica set member containers.
      Returns:
      the replica set members
    • start

      public void start()
      Specified by:
      start in interface org.testcontainers.lifecycle.Startable
    • stop

      public void stop()
      Specified by:
      stop in interface org.testcontainers.lifecycle.Startable
    • initializeReplicaSet

      private void initializeReplicaSet()
    • awaitReplicaPrimary

      public void awaitReplicaPrimary()
    • stepDown

      public void stepDown()
    • killPrimary

      public void killPrimary()
    • tryPrimary

      public Optional<MongoDbContainer> tryPrimary()
    • findMember

      private Optional<MongoDbContainer> findMember(org.testcontainers.shaded.com.fasterxml.jackson.databind.JsonNode memberStatus)
    • getStatus

      private org.testcontainers.shaded.com.fasterxml.jackson.databind.JsonNode getStatus()
    • getHostNames

      public List<String> getHostNames()
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • stream

      private static <T> Stream<T> stream(Iterable<T> iterable)