⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 updatestatustask.java

📁 监控整个SP系统的SMS信息通道的发送情况并且生成日志。 支持权限判断。
💻 JAVA
字号:
package com.infobank.superchannel.daemon.databasecache;import java.util.Queue;import org.apache.commons.configuration.Configuration;import com.infobank.superchannel.database.DAO;import com.infobank.superchannel.pojo.TextMessage;import com.infobank.superchannel.util.DaemonConfiguration;import com.infobank.superchannel.util.DatabaseConnectionPool;/** * @author Xiaoguang Sun * @version 类说明: 状态回写任务 */public class UpdateStatusTask implements Runnable {  // 数据库缓冲服务器对象  private DatabaseCacheDaemon daemon=null;    // 每次回写数据时间间隔(单位毫秒:1000毫秒=1秒)  private int interval=0;    /**   * 构造函数   * @param daemon 数据库缓冲服务器对象   */  public UpdateStatusTask(DatabaseCacheDaemon daemon){    this.daemon=daemon;    DaemonConfiguration config=DaemonConfiguration.getInstance();        interval=config.getInt("/daemon[@type='DatabaseCache']/task/updater/status/interval");  }  /**   * 信息状态回写任务执行体   */  public void run() {    DAO dao=DAO.getInstance();    DatabaseConnectionPool dbcp=DatabaseConnectionPool.getInstance();    while(daemon.isRunnable()){      try{        if(daemon.isPaused()){          Thread.sleep(interval);          continue;        }      }      catch (InterruptedException ex){        // interrupted. probably want to exit        if(!daemon.isRunnable()){          System.out.println("正在停止数据更新任务");          return;        }      }      // 取得待回写信息状态      Queue<TextMessage> pendingStatus=daemon.getPendingStatusUpdate();      if(pendingStatus!=null&&!pendingStatus.isEmpty()){        // 将信息回写回数据库        dao.updateMessageStatus(pendingStatus);      }      try {        Thread.sleep(interval); //查询表的间隔      } catch (Exception e) {        System.err.println("Interrupted");        return;      }    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -