• 【JAVA】servlet 定时启动


    步骤一:

    web.xml中加上如下的代码:

    <load-on-startup>10</load-on-startup>这句话是重点。

     <servlet>  
       <servlet-name>AutoPayServlet</servlet-name>  
       <servlet-class>autoE2E.AutoPayServlet</servlet-class>  
       <load-on-startup>10</load-on-startup>  
     </servlet>  
    <servlet-mapping>  
        <servlet-name>AutoPayServlet</servlet-name>  
        <url-pattern>/AutoPayServlet</url-pattern>  
     </servlet-mapping>  

    步骤二:

    servlet的核心代码:

    public static String autoPayRunTime;  
        static Timer timer = null;  
        static {  
            timer = new Timer();  
            AutoUpdatePayStatu task = new AutoUpdatePayStatu();  
            timer.schedule(task, 1000);  
        }  

    步骤三:

    dao层的逻辑代码:

    package autoE2E;  
      
    import java.sql.Connection;  
    import java.sql.PreparedStatement;  
    import java.sql.ResultSet;  
    import java.text.SimpleDateFormat;  
    import java.util.Date;  
    import java.util.TimerTask;  
      
    import util.JDBC_Connection;  
      
    public class AutoUpdatePayStatu extends TimerTask{  
          
              
            /** 
         * 获取当天支付超时的订单进行支付 
         * @return 
         */  
        @Override  
        public void run() {  
              
            System.out.println("--------开始进行查询了-----");  
              
    try{                }catch (Exception e) {  
                System.out.println("查询当天支付超时订单失败!"+e);  
            }finally{  
                JDBC_Connection.release(resultSet, preparedStatement, connection);  
            }  
            AutoUpdatePayStatu task = new AutoUpdatePayStatu();  
            AutoPayServlet.timer.schedule(task, 10*60*1000);//10分钟循环一次  
        }  
    }  
  • 相关阅读:
    ojdbc14.jar
    Redis
    ftl转成word
    Swagger
    SpringBoot
    条件注解
    Spring SpringMVC MyBatis
    Spring介绍
    Django_mysql表查询
    Django01
  • 原文地址:https://www.cnblogs.com/rayray/p/3844411.html
Copyright © 2020-2023  润新知