java中find方法_Java Document.find方法代码示例
import com.allanbank.mongodb.bson.Document; //导入方法依赖的package包/类
/**
* Extract the number of seconds this Server is behind the primary by
* comparing its latest optime with that of the absolute latest optime.
*
* To account for idle servers we use the optime for each server and assign
* a value of zero to the "latest" optime and then subtract the remaining
* servers from that optime.
*
*
* Lastly, the state of the server is also checked and the seconds behind is
* set to {@link Double#MAX_VALUE} if not in the primary (
* {@value #PRIMARY_STATE}) or secondary ({@value #SECONDARY_STATE}).
*
*
* @param replicaStateDoc
* The document to extract the seconds behind from.
*/
private void updateSecondsBehind(final Document replicaStateDoc) {
final State oldValue = myState;
final NumericElement state = replicaStateDoc.get(NUMERIC_TYPE,
"myState");
if (state != null) {
final int value = state.getIntValue();
if (value == PRIMARY_STATE) {
myState = State.WRITABLE;
mySecondsBehind = 0;
}
else if (value == SECONDARY_STATE) {
myState = State.READ_ONLY;
TimestampElement serverTimestamp = null;
final StringElement expectedName = new StringElement("name",
myCanonicalName);
for (final DocumentElement member : replicaStateDoc.find(
DOCUMENT_TYPE, "members", ".*")) {
if (expectedName.equals(member.get("name"))
&& (member.get(TIMESTAMP_TYPE, "optimeDate") != null)) {
serverTimestamp = member.get(TIMESTAMP_TYPE,
"optimeDate");
}
}
if (serverTimestamp != null) {
TimestampElement latestTimestamp = serverTimestamp;
for (final TimestampElement time : replicaStateDoc.find(
TIMESTAMP_TYPE, "members", ".*", "optimeDate")) {
if (latestTimestamp.getTime() < time.getTime()) {
latestTimestamp = time;
}
}
final double msBehind = latestTimestamp.getTime()
- serverTimestamp.getTime();
mySecondsBehind = (msBehind / TimeUnit.SECONDS.toMillis(1));
}
}
else {
// "myState" != 1 and "myState" != 2
mySecondsBehind = Double.MAX_VALUE;
myState = State.UNAVAILABLE;
}
}
myEventSupport.firePropertyChange(STATE_PROP, oldValue, myState);
}
java中find方法_Java Document.find方法代码示例相关推荐
- java中to date_Java Date toInstant()用法及代码示例
Java中Date类的toInstant()方法用于将Date对象转换为Instant对象.在转换过程中会创建一个Instant,用于表示时间轴上与此日期相同的点. 用法: public Instan ...
- Java 中array.size()_Java ArrayDeque size()方法与示例
ArrayDeque类size()方法size()方法在java.lang包中可用. size()方法用于返回存储在此双端队列中的大小(元素数). size()方法是一个非静态方法,只能通过类对象访问 ...
- java中扫描仪程序_Java扫描仪delimiter()方法及示例
扫描仪类delimiter()方法delimiter()方法在java.util包中可用. delimiter()方法用于检索当前与分隔符匹配的Scanner的模式. delimiter()方法是一种 ...
- java中isolate时间_Java HikariDataSource.setIdleTimeout方法代码示例
import com.zaxxer.hikari.HikariDataSource; //导入方法依赖的package包/类 private HikariDataSource createHikari ...
- java中move用法_Java IFile.move方法代碼示例
import org.eclipse.core.resources.IFile; //導入方法依賴的package包/類 /** * * 01. Class0 uses Class1 in requi ...
- java中setattr功能_Java Controller.setAttr方法代码示例
import com.jfinal.core.Controller; //导入方法依赖的package包/类 /** * 为了规范代码,这里做了一点类是Spring的ResponseEntity的东西 ...
- java中的getfirst_Java LinkedList getFirst()用法及代码示例
Java.util.LinkedList.getFirst()方法用于从LinkedList或列表开头的元素中获取或检索第一个元素. 用法: LinkedList.getFirst() 参数:此方法不 ...
- java中保留小数位_Java中保留两位小数的方法
Java中保留4位小数的方法: import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.Number ...
- java中使用配置文件_Java中使用Properties配置文件的简单方法
Java中使用Properties配置文件的简单方法 properties Properties文件是java中的一种配置文件,文件后缀为".properties",文件的内容格式 ...
最新文章
- Go在Ubuntu 14.04 64位上的安装过程
- C语言-人狼羊菜问题-最容易看懂的解决方法及代码
- mysql主从数据库设计_mysql数据库主从库镜像原理及配置
- php time相差12小时_PHP获取时间比实际时间少8小时的问题
- iOS Hacker LLDB 和 debugserver 实例调试
- 【TensorFlow】TensorFlow函数精讲之tf.nn.softmax_cross_entropy_with_logits
- 拳王虚拟项目公社:虚拟产品自动化4步走,小白自动盈利的第一桶金
- Python datetime time
- Go http访问使用代理
- centos7 删除zabbix_Zabbix服务器端运行中显示为“不”的解决方式
- [转载] Python 完整实现的简单遗传算法(SGA)
- HAOI2018 反色游戏
- 火山软件开发访问网页查找电话号和读写文件应用
- 无线打印机与手机连接到服务器,图文详解手机通过无线Wifi连接打印机的方法...
- TPSHOP商城软件测试环境搭建过程
- Kubernetes(K8S)入门到运维 ( 六) Helm与功能组件及证书年限
- js中isFinite
- 如何将pdf转换成ppt文件
- FME会员期刊(夏季版)
- 上海户口计算机考试有用吗,上海居转户这9个问题你必须要清楚!对你的上海户口有帮助!...
热门文章
- GraphQL:简单开开始一个查询
- 《ASP.NET Core 真机拆解》 送书活动结果公布
- .NET Core开发实战(第30课:领域事件:提升业务内聚,实现模块解耦)--学习笔记...
- ASP.NET Core 应用程序状态
- .NET和Docker ,比翼双飞
- ASP.NET Core 3.0:将会拥有更少的依赖
- 用.NET Core实现装饰模式和.NET Core的Stream简介
- .Net 4.X 提前用上 .Net Core 的配置模式以及热重载配置
- 使用Nito.AsyncEx实现异步锁
- 使用BigQuery分析GitHub上的C#代码