MongoDB Java Driver legacy all-in-one JAR providing comprehensive database connectivity for Java applications with synchronous APIs, CRUD operations, aggregation, GridFS, change streams, and authentication support
—
Client configuration options for connection pooling, read/write preferences, timeouts, and codec registries to optimize MongoDB driver behavior.
public final class MongoClientOptions {
public static Builder builder();
public int getConnectionsPerHost();
public int getConnectTimeout();
public int getSocketTimeout();
public ReadPreference getReadPreference();
public WriteConcern getWriteConcern();
public ReadConcern getReadConcern();
public static final class Builder {
public Builder connectionsPerHost(int connectionsPerHost);
public Builder connectTimeout(int connectTimeout);
public Builder socketTimeout(int socketTimeout);
public Builder readPreference(ReadPreference readPreference);
public Builder writeConcern(WriteConcern writeConcern);
public Builder readConcern(ReadConcern readConcern);
public MongoClientOptions build();
}
}
// Read preferences
public abstract class ReadPreference {
public static ReadPreference primary();
public static ReadPreference secondary();
public static ReadPreference secondaryPreferred();
public static ReadPreference nearest();
public static ReadPreference primaryPreferred();
}
// Write concerns
public class WriteConcern {
public static final WriteConcern ACKNOWLEDGED;
public static final WriteConcern UNACKNOWLEDGED;
public static final WriteConcern MAJORITY;
public static final WriteConcern W1;
public static final WriteConcern W2;
public static final WriteConcern W3;
public WriteConcern(int w);
public WriteConcern(String w);
public WriteConcern withJournal(Boolean journal);
public WriteConcern withWTimeout(long wTimeout, TimeUnit timeUnit);
}
// Read concerns
public final class ReadConcern {
public static final ReadConcern DEFAULT;
public static final ReadConcern LOCAL;
public static final ReadConcern AVAILABLE;
public static final ReadConcern MAJORITY;
public static final ReadConcern LINEARIZABLE;
public static final ReadConcern SNAPSHOT;
public String getLevel();
public boolean isServerDefault();
}
// Connection string
public class ConnectionString {
public ConnectionString(String connectionString);
public String getConnectionString();
public List<String> getHosts();
public String getDatabase();
public String getCollection();
public String getUsername();
public char[] getPassword();
public ReadPreference getReadPreference();
public WriteConcern getWriteConcern();
public ReadConcern getReadConcern();
public String getApplicationName();
}
// Driver information for libraries
public final class MongoDriverInformation {
public static Builder builder();
public static Builder builder(MongoDriverInformation mongoDriverInformation);
public static final class Builder {
public Builder driverName(String driverName);
public Builder driverVersion(String driverVersion);
public Builder driverPlatform(String driverPlatform);
public MongoDriverInformation build();
}
}
// Modern client settings (recommended)
public final class MongoClientSettings {
public static Builder builder();
public ReadPreference getReadPreference();
public WriteConcern getWriteConcern();
public ReadConcern getReadConcern();
public CodecRegistry getCodecRegistry();
public String getApplicationName();
public static final class Builder {
public Builder applyConnectionString(ConnectionString connectionString);
public Builder readPreference(ReadPreference readPreference);
public Builder writeConcern(WriteConcern writeConcern);
public Builder readConcern(ReadConcern readConcern);
public Builder codecRegistry(CodecRegistry codecRegistry);
public Builder applicationName(String applicationName);
public MongoClientSettings build();
}
}Connection strings provide a convenient way to configure MongoDB client settings including authentication, read preferences, and connection options.
Usage Examples:
import com.mongodb.ConnectionString;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoClient;
// Basic connection
ConnectionString connString = new ConnectionString("mongodb://localhost:27017/mydb");
MongoClient client = MongoClients.create(connString);
// With authentication and options
ConnectionString authConnString = new ConnectionString(
"mongodb://user:password@localhost:27017/mydb?authSource=admin&readPreference=secondary"
);
MongoClient authClient = MongoClients.create(authConnString);
// Replica set connection
ConnectionString replicaString = new ConnectionString(
"mongodb://host1:27017,host2:27017,host3:27017/mydb?replicaSet=myReplSet"
);
MongoClient replicaClient = MongoClients.create(replicaString);Programmatic configuration using MongoClientSettings for more complex setups.
Usage Examples:
import com.mongodb.MongoClientSettings;
import com.mongodb.ReadPreference;
import com.mongodb.WriteConcern;
import java.util.concurrent.TimeUnit;
MongoClientSettings settings = MongoClientSettings.builder()
.applyConnectionString(new ConnectionString("mongodb://localhost:27017"))
.readPreference(ReadPreference.secondaryPreferred())
.writeConcern(WriteConcern.MAJORITY.withWTimeout(5, TimeUnit.SECONDS))
.applicationName("MyApplication")
.build();
MongoClient client = MongoClients.create(settings);Install with Tessl CLI
npx tessl i tessl/maven-org-mongodb--mongo-java-driver