• java定时器


    web.xml

    <servlet>
        <servlet-name>CallBackServlet</servlet-name>
        <servlet-class>com.icss.fsop.osems.workspace.servlet.CallBackServlet</servlet-class>
        <load-on-startup>156</load-on-startup>
      </servlet>

    <servlet-mapping>
        <servlet-name>CallBackServlet</servlet-name>
        <url-pattern>/servlet/CallBackServlet</url-pattern>
      </servlet-mapping>

    public class CallBackTask extends TimerTask{

     /**
      * 执行时间控制器
      */
     public void run() {
      // TODO Auto-generated method stub
      StringBuffer sql = new StringBuffer();
      sql.append(" update tbl_os_item tblItem ")
         .append(" set tblItem.ITEMSPACE = 'issued' ")
         .append(" where sysdate - to_date(tblItem.pi_sign_time, 'yyyy-MM-dd hh24:mi:ss') >= 7 ")
         .append(" and tblItem.State = '2' ")
         .append(" and tblItem.proid in ")
         .append(" (select proid from tbl_os_project where protype != '0') ")
         .append(" and tblItem.ITEMSPACE = 'workspace' ");
      String sqlStr = sql.toString();
      Connection conn = null;
      PreparedStatement ps = null;
      try {
        conn=DBConnectionProvider.getConnection(Constants.JNDI_OSEMS);
        ps = conn.prepareStatement(sqlStr);
        ps.execute();
        //conn.commit();
        ps.close();
      } catch (Exception e) {
       // TODO: handle exception
      }finally {
       try {

        conn.close();
       } catch (Exception e) {
        // TODO: handle exception
       }

      }
      
     }

    }

    /**

    *

    */

    package com.icss.fsop.osems.workspace.servlet;


    import java.util.Timer;

    import javax.servlet.ServletConfig;
    import javax.servlet.http.HttpServlet;

    import com.icss.core.config.Config;
    import com.icss.core.config.ConfigException;
    import com.icss.core.config.ConfigType;
    import com.icss.fsop.osems.common.conf.Constants;
    import com.icss.fsop.osems.common.util.CallBackTask;

    public class CallBackServlet extends HttpServlet {
      
       Timer time = new Timer();
         CallBackTask task = new CallBackTask();
       
         public void init(ServletConfig config) {
          try
       {
        Config.addConfig(ConfigType.PROP, Constants.APP_CONFIG,"osems_env.properties");
        int initTime = Integer.parseInt(Config.getConfig(Constants.APP_CONFIG).getProperty("initTime",  "")) ;
        int intervalTime = Integer.parseInt(Config.getConfig(Constants.APP_CONFIG).getProperty("intervalTime",  "")) ;
        time.schedule(task, initTime, intervalTime);
       } catch (ConfigException e)
       {
        //do something
        e.printStackTrace();
       }
         }
         public void destroy() {
             time.cancel();
         }
    }

    osems_env.properties

    intervalTime = 3600000
    initTime = 120000

    每一天都要行动,在前进中寻求卓越。
  • 相关阅读:
    【Android】将apk文件安装到Android模拟器中
    【笔试or面试】操作系统的多道编程
    表单附件显示问题
    vs2010部署报错,服务器场功能未激活,未安装在此服务器场中,无法添加到该范围,解决方案
    sharepoint 列表排序
    设置网站匿名访问后无法匿名访问列表内容问题解决
    Moss2010隐藏 用户欢迎下拉框项目
    SharePoint 自定义的MasterPage (母版页结构)
    SharePoint2010搜索的简单设置
    (经验)如何“正确”为SharePoint字段命名
  • 原文地址:https://www.cnblogs.com/wshsdlau/p/2548857.html
Copyright © 2020-2023  润新知