【发布时间】:2015-06-25 11:16:06
【问题描述】:
最近我正在使用新发布的 mongodb java 异步驱动程序。我正在写一些简单的测试代码,分别是:
MongoClient mongoClient = MongoClients.create();
System.out.println("database has been connected!");
SingleResultCallback<Void> callbackWhenFinished = new SingleResultCallback<Void>() {
@Override
public void onResult(final Void result, final Throwable t) {
System.out.println("Operation Finished!");
}
};
mongoClient.listDatabaseNames().forEach(new Block<String>() {
@Override
public void apply(final String s) {
System.out.println(s);
}
}, callbackWhenFinished);
然而,回调函数没有被调用,控制台输出为:
2015 年 4 月 18 日下午 10:50:27 com.mongodb.diagnostics.logging.JULLogger 日志消息:已创建集群 设置 {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
数据库已连接! 2015 年 4 月 18 日下午 10:50:28 com.mongodb.diagnostics.logging.JULLogger 日志消息:否 选择的服务器 集群中的 ReadPreferenceServerSelector{readPreference=primary} 描述 ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, 全部=[服务器描述{地址=本地主机:27017,类型=未知, 状态=连接}]}。在超时前等待 30000 毫秒
所以你可以看到没有调用回调函数。有谁知道为什么?
【问题讨论】:
标签: mongodb mongodb-java