当我在 j2ee 中启动服务器时定期执行方法

execute method periodically when I start server in j2ee

我需要在启动服务器时定期执行方法,我使用的是 Tomcat v6.0 服务器,作为框架,我使用 hibernate、JSF、Primefaces 和 spring。 我应该在 web.xml 中添加一些东西吗?

有多种解决方案,您可以通过其中一种方式实现您的需求。

假设您的方法是您计划在某个时间间隔秒运行 执行一次的 Dispatch 任务

将您的任务分开 class 并在您的上下文成功初始化后安排它

ScheduledExecutorService scheduledExcecutor = Executors.newScheduledThreadPool(3);
scheduledExcecutor.scheduleWithFixedDelay(yourTaskInstance, 0,
                                           sleepInterval, TimeUnit.MILLISECONDS);

您也可以使用固定费率进行安排,查看 ScheduledExecutorService 文档

当你的服务器关闭时,请优雅地关闭它。

根据您的应用环境,您可以通过以下任意一种方式添加启动钩子。

之后可以添加ScheduledThreadPoolExecutor定时执行任务