java集群方式连接mongo
时间: 2023-07-08 16:04:48 浏览: 95
mongo-kafka:发送mongo oplog流到kafka
Java 连接 MongoDB 的方式有多种,包括单机连接和集群连接。下面介绍一下集群连接的方式。
1. 使用 MongoDB 官方提供的 Java 驱动程序
MongoDB 官方提供的 Java 驱动程序可以通过 Maven 坐标获取:
```xml
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.4</version>
</dependency>
```
连接代码示例:
```java
// 配置 MongoDB 集群地址
List<ServerAddress> seeds = Arrays.asList(
new ServerAddress("node1:27017"),
new ServerAddress("node2:27017"),
new ServerAddress("node3:27017")
);
// 连接 MongoDB 集群
MongoClient mongoClient = new MongoClient(seeds);
// 获取数据库实例
MongoDatabase db = mongoClient.getDatabase("test");
```
2. 使用 Spring Data MongoDB
Spring Data MongoDB 是 Spring 框架的一个子项目,提供了更为简便的操作 MongoDB 的方式。
在 Maven 中引入 Spring Data MongoDB 的依赖:
```xml
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>2.2.5.RELEASE</version>
</dependency>
```
连接代码示例:
```java
// 配置 MongoDB 集群地址
List<String> hosts = Arrays.asList(
"node1:27017",
"node2:27017",
"node3:27017"
);
// 创建 MongoClientOptions 对象
MongoClientOptions options = MongoClientOptions.builder()
.connectTimeout(5000)
.build();
// 配置 MongoDB 客户端连接工厂
MongoClientFactoryBean factory = new MongoClientFactoryBean();
factory.setReplicaSetSeeds(hosts);
factory.setMongoClientOptions(options);
// 获取 MongoClient 对象
MongoClient mongoClient = factory.getObject();
// 获取 MongoTemplate 实例
MongoTemplate mongoTemplate = new MongoTemplate(mongoClient, "test");
```
阅读全文