运行 启动应用程序服务器时的 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
}
}
我有一个计时器 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
}
}