[JAVA-520] There is no way to chack master in java's client api when new Mongo(serverList) Created: 13/Feb/12  Updated: 25/Jun/13  Resolved: 13/Feb/12

Status: Closed
Project: Java Driver
Component/s: API
Affects Version/s: 2.6.5, 2.7.2
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: xfc Assignee: Jeffrey Yemin
Resolution: Duplicate Votes: 0
Labels: api, check, client, java, master, mogodb
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
duplicates JAVA-519 MongoDB's connection is not a effecti... Closed

 Description   

Issure url:https://jira.mongodb.org/browse/JAVA-519

We just want to check master in starting our web application.

A full client code example:

public class MongoDataSource {

private static Logger log = LoggerFactory.getLogger(MongoDataSource.class);
private DB db;
private String dbName;
private Mongo mongo;
private String writeConcernName;
private WriteConcern writeConcern;
private boolean slaveOk;
private Set<String> hostNames = new HashSet<String>();
private List<ServerAddress> hosts = new ArrayList<ServerAddress>();
private boolean checkMaster;

public MongoDataSource(String replicaHosts, String dbName, String writeConcernName, boolean slaveOk,boolean checkMaster){
String names[] = replicaHosts.split(",");
for (String name : names)

{ hostNames.add(name); }

this.dbName = dbName;
this.writeConcernName = writeConcernName;
this.slaveOk = slaveOk;
this.checkMaster=checkMaster;
}

public void init() throws UnknownHostException, MongoException {
for (String hostName : hostNames)

{ String tmp[] = hostName.split(":"); ServerAddress addr = new ServerAddress(tmp[0], Integer.parseInt(tmp[1])); hosts.add(addr); }

mongo = new Mongo(hosts);
db = mongo.getDB(dbName);
WriteConcern wc = WriteConcern.valueOf(writeConcernName);
db.setWriteConcern(wc);
if (this.slaveOk)

{ db.slaveOk(); }

if (checkMaster)

{ db.getCollectionNames(); }

}

public void destroy()

{ mongo.close(); }

}

configuration in spring xml file:
<bean id="mongods" class="com.alibaba.cep.ep.dao.impl.MongoDataSource" init-method="init" destroy-method="destroy">
<constructor-arg value="10.20.30.56:11112"></constructor-arg>
<constructor-arg value="db"></constructor-arg>
<constructor-arg value="SAFE"></constructor-arg>
<constructor-arg value="false"></constructor-arg>
<constructor-arg value="true"></constructor-arg>
</bean>


Generated at Thu Feb 08 08:52:29 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.