我需要在我的web应用程序(tomcat上的jsp)中进行定期操作(调用java方法).我怎样才能做到这一点 ?Java守护程序或其他解决方案?
您可以使用a ScheduledExecutorService
来定期执行任务.但是,如果您需要更复杂的类似cron的调度,那么请查看Quartz.特别是如果沿着这条路线走,我建议将Quartz与Spring结合使用,因为它提供了更好的API并允许您在配置中控制作业.
ScheduledExecutorService示例(取自Javadoc)
import static java.util.concurrent.TimeUnit.*;
class BeeperControl {
private final ScheduledExecutorService scheduler =
Executors.newScheduledThreadPool(1);
public void beepForAnHour() {
final Runnable beeper = new Runnable() {
public void run() { System.out.println("beep"); }
};
final ScheduledFuture<?> beeperHandle =
scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
scheduler.schedule(new Runnable() {
public void run() { beeperHandle.cancel(true); }
}, 60 * 60, SECONDS);
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2240 次 |
最近记录: |