1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package com.yihu.ehr.service.thread;
- import com.yihu.ehr.common.config.SysConfig;
- import com.yihu.ehr.common.config.ThreadConfig;
- import com.yihu.ehr.dbhelper.jdbc.DBConfig;
- import com.yihu.ehr.dbhelper.jdbc.DBHelper;
- import com.yihu.ehr.service.standard.StandardManager;
- import com.yihu.ehr.util.log.LogUtil;
- public class StandardUpdateThread implements Runnable {
- @Override
- public void run() {
- while (ThreadManage.standardUpdateIsRunning) {
- try {
- LogUtil.info("标准更新线程开始");
- if (SysConfig.getInstance().isEmptyOrgCode()) {
- LogUtil.info("机构代码为空,无法更新标准!");
- } else {
- StandardManager.getInstance().update();
- }
- LogUtil.info("标准更新线程结束");
- sleep();
- } catch (InterruptedException e) {
- LogUtil.error("采集中断!");
- LogUtil.error(e);
- continue;
- } catch (Exception e) {
- LogUtil.error("更新线程失败,将重新启动线程!");
- LogUtil.error(e);
- try {
- sleep();
- } catch (Exception e1) {
- continue;
- }
- continue;
- }
- }
- }
- private void sleep() throws Exception {
- if (ThreadConfig.UPDATE_THREAD_SLEEP_TIME == 0) {
- DBHelper db = new DBHelper();
- Object obj = db.scalar("select param_value from system_param where param_key='UPDATE_INTERVAL'");
- if(obj!=null) {
- ThreadConfig.UPDATE_THREAD_SLEEP_TIME = Integer.parseInt(obj.toString());
- }
- }
- LogUtil.info("开始睡眠,睡眠时间:" + 1000 * ThreadConfig.UPDATE_THREAD_SLEEP_TIME);
- Thread.sleep(1000 * ThreadConfig.UPDATE_THREAD_SLEEP_TIME);
- }
- }
|