运行 启动应用程序服务器时的 TimerTask

Run TimerTask on start Application Server

我有一个计时器 class 可以连续响应短信。

public class MyRegularTask extends TimerTask {
    public void run() {
        Thread.sleep(1000);
        answerLeftSMS();
        // this.cancel(); I do not cancel this Timer
    }
}

目前我正在运行通过行动号召完成它。

Timer time = new Timer();
MyRegularTask taskTimer = new MyRegularTask();
time.schedule(taskTimer, 0, 60000);

有什么方法可以在我启动应用程序服务器(Tomcat、Glassfish)时自动 运行 这个计时器?我正在使用 Spring MVC(注释)。

以下应该可以解决问题

@Component
public class MyRegularTask extends TimerTask {

    @PostConstruct
    public void init() {
        Timer time = new Timer();
        MyRegularTask taskTimer = new MyRegularTask();
        time.schedule(taskTimer, 0, 60000);
    }

    public void run() {
        Thread.sleep(1000);
        answerLeftSMS();
        // this.cancel(); I do not cancel this Timer
    }
}