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;

}

}


2.MongoDBConfig.java

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> collectionsdb.listCollections();

MongoCursor<Document> it = collections.iterator();

while(it.hasNext()) {

System.out.print(it.next().toJson());

}

}

}


0 0
原创粉丝点击