Java Tomcat自启动程序

方式一:定时器方式(定时任务)

web.xml中加入监听器

<listener>  
    <listener-class>com.qyj.autoback.AutoBackListener</listener-class>
  </listener>

 

AutoBackListener.java

package com.qyj.autoback;

import java.util.Timer;

import javax.servlet.ServletContextEvent;//这个是自启动要用到的类,服务器后台事件
import javax.servlet.ServletContextListener;//这个是自启动要用到的类,服务器后台监听

//声明一个autoRun类,使用服务器后台监听接口。固定用法,死记硬背
public class AutoBackListener implements ServletContextListener{
    private Timer timer = null;
    
    // 当后台被初始化,即发生了tomcat启动了事件,固定用法
    public void contextInitialized(ServletContextEvent event) {
        // 你要做的事儿,写在这里
        System.out.println("AutoBack is running...");
        
        // 在这里初始化监听器,在tomcat启动的时候监听器启动,可以在这里实现定时器功能
        timer = new Timer(true);
        System.out.println("定时器启动");
        // 调用exportHistoryBean,0表示任务无延迟,24*60*60*1000表示一天执行一次。
        timer.schedule(new TimerTaskRun(event.getServletContext()), 5 * 1000,
                //24 * 60 * 60 * 1000);
                10 * 1000);
    }

    // 当后台被销毁,即发生了tomcat关闭了事件,固定用法
    public void contextDestroyed(ServletContextEvent event) {
        // 执行内容写在这里
        timer.cancel();
    }
}

 

TimerTaskRun .java

package com.qyj.autoback;

import java.util.TimerTask;

import javax.servlet.ServletContext;

public class TimerTaskRun extends TimerTask {
    @SuppressWarnings("unused")
    private ServletContext context = null;
    
    public TimerTaskRun(ServletContext context) {
        this.context = context;
    }

    public void run() {
        // 这里就是调用自己的方法了
        System.out.println("定时任务执行(定时下载备份文件)...");
    }
}

 

方式二:(只能完成初始化工作 不能用while循环 tomcat会一直卡在启动状态)

web.xml中加入监听器

  <listener>  
    <listener-class>com.qyj.autoback.AutoBack</listener-class>
  </listener>

AutoBack.java

package com.qyj.autoback;

import javax.servlet.ServletContextEvent;//这个是自启动要用到的类,服务器后台事件
import javax.servlet.ServletContextListener;//这个是自启动要用到的类,服务器后台监听

//声明一个autoRun类,使用服务器后台监听接口。固定用法,死记硬背
public class AutoBack implements ServletContextListener{
    // 当后台被初始化,即发生了tomcat启动了事件,固定用法
    public void contextInitialized(ServletContextEvent arg0) {
        // 你要做的事儿,写在这里
        System.out.println("AutoBack is running...");
    }

    // 当后台被销毁,即发生了tomcat关闭了事件,固定用法
    public void contextDestroyed(ServletContextEvent arg0) {
        // 执行内容写在这里
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值