我需要在Web应用程序(tomcat中的jsp)上进行定期操作(调用java方法)。我怎样才能做到这一点 ?Java守护程序或其他解决方案?
您可以使用a ScheduledExecutorService定期执行任务。但是,如果您需要更复杂的类似cron的调度,请查看Quartz。特别是如果沿着这条路线,我建议将Quartz与Spring结合使用,因为它提供了更好的API并允许您控制配置中的作业触发。
ScheduledExecutorService
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); } }