mongoClient备忘
来源:互联网 发布:python基础教程 怎么样 编辑:程序博客网 时间:2024/05/16 09:31
1. MongoDBCredential.java
public class MongoDBCredential {
private StringdatabaseName;
private Stringusername;
private Stringpassword;
public String getDatabaseName() {
returndatabaseName;
}
public void setDatabaseName(String databaseName) {
this.databaseName =databaseName;
}
public String getUsername() {
returnusername;
}
public void setUsername(String username) {
this.username =username;
}
public String getPassword() {
returnpassword;
}
public void setPassword(String password) {
this.password =password;
}
}
public class MongoDBConfig {
private Stringaddresses;
private List<MongoDBCredentialT>credentials;
public String getAddresses() {
returnaddresses;
}
public void setAddresses(String addresses) {
this.addresses =addresses;
}
public List<MongoDBCredentialT> getCredentials() {
returncredentials;
}
public void setCredentials(List<MongoDBCredentialT> credentials) {
this.credentials =credentials;
}
public List<MongoCredential> buildCredentials() {
List<MongoCredential> _credentials = new ArrayList<MongoCredential>();
for(MongoDBCredentialTcredential : credentials) {
MongoCredential mc = MongoCredential.createCredential(credential.getUsername(),credential.getDatabaseName(), credential.getPassword().toCharArray());
_credentials.add(mc);
}
return_credentials;
}
public List<ServerAddress> buildAddresses() {
List<ServerAddress> addresses = new ArrayList<ServerAddress>();
String[] sources =this.addresses.split(";");
for(Stringitem : sources) {
String[] hp =item.split(":");
addresses.add(new ServerAddress(hp[0], Integer.valueOf(hp[1])));
}
returnaddresses;
}
}
3.MongoDBDriver.java
public class MongoDBDriver {
private MongoClientmongoClient;
private MongoDBConfigTmongoDBConfig;
private Propertiesproperties;
public void setMongoDBConfig(MongoDBConfigT mongoDBConfig) {
this.mongoDBConfig =mongoDBConfig;
}
public void setProperties(Properties properties) {
this.properties =properties;
}
private IntegerconnectionsPerHost = 32;
private IntegerthreadsAllowedToBlockForConnectionMultiplier = 5;
private Integer maxWaitTime = 30000;
private Integer connectTimeout = 30000;
private Integer socketTimeout = 30000;
private Integer maxConnectionIdle = 60000;
public void init() {
if(properties !=null) {
String perHost = properties.getProperty("mongo.driver.connectionsPerHost");
if(StringUtils.isNotBlank(perHost)) {
connectionsPerHost = Integer.valueOf(perHost);
}
String multiplier = properties.getProperty("mongo.driver.threadsAllowedToBlockForConnectionMultiplier");
if(StringUtils.isNotBlank(multiplier)) {
threadsAllowedToBlockForConnectionMultiplier = Integer.valueOf(multiplier);
}
String _maxWaitTime =properties.getProperty("mongo.driver.maxWaitTime");
if(StringUtils.isNotBlank(_maxWaitTime)) {
maxWaitTime = Integer.valueOf(_maxWaitTime);
}
String _connectTimeout =properties.getProperty("mongo.driver.connectTimeout");
if(StringUtils.isNotBlank(_connectTimeout)) {
connectTimeout = Integer.valueOf(_connectTimeout);
}
String _socketTimeout =properties.getProperty("mongo.driver.socketTimeout");
if(StringUtils.isNotBlank(_socketTimeout)) {
socketTimeout = Integer.valueOf(_socketTimeout);
}
String _maxConnectionIdle =properties.getProperty("mongo.driver.maxConnectionIdle");
if(StringUtils.isNotBlank(_maxConnectionIdle)) {
maxConnectionIdle = Integer.valueOf(_maxConnectionIdle);
}
}
execute();
}
public void execute() {
MongoClientOptions.Builder builder = MongoClientOptions.builder();
builder.connectionsPerHost(connectionsPerHost);
builder.threadsAllowedToBlockForConnectionMultiplier(threadsAllowedToBlockForConnectionMultiplier);
builder.maxWaitTime(maxWaitTime);
builder.connectTimeout(connectTimeout);
builder.socketTimeout(socketTimeout);
builder.maxConnectionIdleTime(maxConnectionIdle);
MongoClientOptions options = builder.build();
mongoClient =new MongoClient(mongoDBConfig.buildAddresses(),mongoDBConfig.buildCredentials(), options);
}
public MongoClient getMongoClient() {
returnmongoClient;
}
public MongoDatabase getDatabase(StringdatabaseName) {
return this.mongoClient.getDatabase(databaseName);
}
public DB getDB(StringdbName) {
return this.mongoClient.getDB(dbName);
}
}
4.MongoDBClient.java
public class MongoDBClientT {
private MongoDBDriverTmongoDBDriver;
private StringdatabaseName;
public void setMongoDBDriver(MongoDBDriverT mongoDBDriver) {
this.mongoDBDriver =mongoDBDriver;
}
public void setDatabaseName(String databaseName) {
this.databaseName =databaseName;
}
public MongoDatabase getDatabase() {
returnthis.mongoDBDriver.getDatabase(this.databaseName);
}
public static void main(String[] args) {
MongoDBDriverT driver =new MongoDBDriverT();
List<MongoDBCredentialT> credentials = new ArrayList<MongoDBCredentialT>();
MongoDBCredentialT credential = new MongoDBCredentialT();
credential.setDatabaseName("moin-fs");
credential.setUsername("root");
credential.setPassword("root123");
credentials.add(credential);
MongoDBConfigT config =new MongoDBConfigT();
config.setCredentials(credentials);
config.setAddresses("10.10.10.42:27017");
driver.setMongoDBConfig(config);
driver.init();
MongoDBClientT client =new MongoDBClientT();
client.setMongoDBDriver(driver);
client.setDatabaseName("moin-fs");
MongoDatabase db =client.getDatabase();
ListCollectionsIterable<Document> collections = db.listCollections();
MongoCursor<Document> it = collections.iterator();
while(it.hasNext()) {
System.out.print(it.next().toJson());
}
}
}
- mongoClient备忘
- pymongo MongoClient
- 编译 mongoclient.lib
- mongoclient findandmodify使用
- MongoClient类参考文档
- MongoClient 操作MongoDB replica-set
- MongoDB -- MongoClient连接池用法
- MongoDB -- MongoClient连接池用法
- 备忘
- 备忘
- 备忘
- 备忘
- 备忘
- 备忘
- 备忘
- 备忘
- 备忘
- 备忘
- 51单片机的定时器延时计算
- 在studio中png图片异常导致的错误
- iOS 动态更新方案对比:JSPatch vs React Native
- linux下普通用户root权限
- Linux下Rsync+Inotify-tools实现数据实时同步
- mongoClient备忘
- retrofit学习(一)-----主要类的学习
- FFMPEG选项解释
- UVALive - 3902 Network
- NGINX学习笔记
- 直播技术(从服务端到客户端)一
- Github中的Android时间,日期选择器
- Android LeakCanary
- InputStream读取远程或者网络url时报(文件名、目录名或卷标语法不正确)的错,文件读不出来