java错误Class file collision: A resource exists with a different case: '/Demo/bin/person.class'.
1个回答
展开全部
Java代码 收藏代码
// 构造方法
// replicaSetSeeds 所有 Server 的地址
// options 默认的查询设置
public Mongo( List<ServerAddress> replicaSetSeeds , MongoOptions options )
throws MongoException {
// 设置类变量
_addr = null;
_addrs = replicaSetSeeds;
_options = options;
// 应用查询设置
_applyMongoOptions();
// 创建 TCP 连接实例
_connector = new DBTCPConnector( this , _addrs );
// 启动数据清理线程
_cleaner = new DBCleanerThread();
_cleaner.start();
}
// 应用查询设置
void _applyMongoOptions() {
// 是否在 Slave Server 上执行查询
if (_options.slaveOk) slaveOk();
// 应用默认的写入设置
setWriteConcern( _options.getWriteConcern() );
}
// 应用默认的写入设置
public void setWriteConcern( WriteConcern concern ){
_concern = concern;
}
涉及的其他类:
ServerAddress 用于保存主机名和所使用的端口的信息
MongoOptions 用于保存查询设置(是否在 Slave 上进行查询,超时设置等)
WriteConcern 写入参数设置,包括:Server 数量,写入超时设置,是否立即将结果同步到文件系统中
DBTCPConnector 表示 TCP 数据连接,后续文章中将详细介绍。
DBCleanerThread 清理线程,每隔一段时间清理各个DB 的 DBCursor
获取所有数据库的名称
实现如下:
Java代码 收藏代码
// 获取所有数据库的名称
public List<String> getDatabaseNames()
throws MongoException {
// 创建表示数据库命令的 DBOBject
BasicDBObject cmd = new BasicDBObject();
cmd.put("listDatabases", 1);
// 使用 admin 数据库执行命令并返回结果
CommandResult res = getDB( "admin" ).command(cmd, getOptions());
// 有错误的情况下抛出异常
res.throwOnError();
// 获取结果中的 databases 属性,即数据库列表
List l = (List)res.get("databases");
// 遍历 databases,将名称保存到一个 list 中,并返回结果
List<String> list = new ArrayList<String>();
for (Object o : l) {
list.add(((BasicDBObject)o).getString("name"));
}
return list;
}
涉及的其他类:
BasicDBObject 与 MongoDB 交互时使用的数据结构,实际相当于 Java 中的 Map,或 JavaScript 中的 object
CommandResult 操作执行的结果,继承 BasicDBObject,提供一些便捷的方法,实际仍然是在 DBObject 中查询相应的属性。
追问
?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询