web服务器启动就执行main函数

言午草民 发布于 2016/06/12 10:37
阅读 1K+
收藏 0

项目背景:web前台项目,框架:String ,struts2,ibatis.

问题:我写了一个每天定时执行的方法,在myeclipse中只测试这个class文件是可以的,现在我想在web项目启动时就就加载这个class,执行里面的main方法,该怎么写?

我的class:

public class TestTimer {
    /**

*/
private static final long serialVersionUID = 1L;
static int count = 0;
    
    public static void showTimer() {
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                ++count;
                System.out.println("时间=" + new Date() + " 执行了" + count + "次"); // 1次
            }
        };


        //设置执行时间
        Calendar calendar = Calendar.getInstance();
        int year = calendar.get(Calendar.YEAR);
        int month = calendar.get(Calendar.MONTH);
        int day = calendar.get(Calendar.DAY_OF_MONTH);//每天
        System.out.print("year:"+year+"month:"+month+"day:"+day);
        System.out.print("_________________");
        //定制每天的21:09:00执行,
        calendar.set(year, month, day, 10, 18, 00);
        Date date = calendar.getTime();
        Timer timer = new Timer();
        System.out.println(date);
        
        timer.schedule(task, date);
    }


    public static void main(String[] args) {
        showTimer();
        System.out.print("*********************************************8");
    }
}

我在web.xml中的配置:

<servlet>
   <servlet-name>TestTimer</servlet-name>
   <servlet-class>com.***********.action.TestTimer</servlet-class>
   <load-on-startup>1</load-on-startup>
  </servlet>

加载中
0
noday
noday
在listener里启动
0
kukudeku
kukudeku

在listener中其中或者在spring的beanFactory(beans.xml)文件中配置

0
milin
milin
配置监听器,监听服务启动就行了
0
白眼狼
方法有很多种、继承TimerTask类也可以
0
小萧蚂蚁
小萧蚂蚁
你如果用servlet配置,可以在init方法里面调用。spring框架的话最好是写在bean里面。
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部