我需要在启动服务器时定期执行方法,我使用Tomcat v6.0 Server,作为框架,我使用hibernate,JSF,Primefaces和spring。 我应该在web.xml中添加一些内容吗?
答案 0 :(得分:0)
有几种解决方案,您可以通过这种方式满足您的需求。
假设您的方法是您计划在某个时间间隔内运行一次的Dispatch任务
将您的任务保持在单独的课程中,并在您的上下文成功启动后安排它
ScheduledExecutorService scheduledExcecutor = Executors.newScheduledThreadPool(3);
scheduledExcecutor.scheduleWithFixedDelay(yourTaskInstance, 0,
sleepInterval, TimeUnit.MILLISECONDS);
您也可以使用固定费率安排,查看ScheduledExecutorService文件
在服务器关闭时正常关闭它。
答案 1 :(得分:0)
根据您的应用程序环境,您可以使用以下任何方式添加启动挂钩。
<强>弹簧强>
您可以为应用程序上下文的启动和关闭阶段实施Lifecycle或SmartLifeCycle界面。
<强> Tomcat的强>
您可以通过实施LifecycleListener
<强>通用强>
之后,您可以添加ScheduledThreadPoolExecutor以定期执行任务。