<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
final Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
if (count_num_inc > 0) {
try {
String dpsReturnBody = getDpsShardState();
// 增量 执行完成
if ("true".equals(dpsReturnBody)) {
dpsIncrStatus = "no_runing";
count_num_inc = -1;
logger.info("***********增量 执行完成。开始采集数据!***********");
execDpsShard();
} else {
logger.info("轮询次数还剩count_num_inc:" + count_num_inc + "次,每次间隔interval_time_inc:" + interval_time_inc + "分钟。");
count_num_inc--;
}
} catch (Exception e) {
count_num_inc = -1;
logger.info("*****全量失败:", e);
}
} else {
if (0 == count_num_inc) {
logger.info("***********定时轮询 使用完,也没有检查到增量执行完成的状态***********");
// 全量完成 设置空闲状态
dpsIncrStatus = "no_runing";
dps_exec_state = "idle";
/* 开启增量服务 start */
ZKClientUtil.updateNodeBySysType(sysType, "dpsInc", "on");
}
logger.info("全量采集后,启动增量服务");
/* 开启增量服务 start */
ZKClientUtil.updateNodeBySysType(sysType, "dpsInc", "on");
logger.info("结束定时器");
timer.cancel();
}
}
}, 0, (long) (interval_time_inc * 60 * 1000));