是否可以在 Web 应用程序中运行 cron 作业?

2022-09-01 21:21:20

在java Web应用程序(servlets/spring mvc)中使用tomcat,是否可以运行cron作业类型服务?

例如,每 15 分钟清除一次日志数据库。

你能以一种独立于容器的方式做到这一点,或者它必须使用tomcat或其他容器运行吗?

请指定该方法是保证在特定时间运行,还是每 15 分钟运行一次,但如果应用程序回收,则可能会重置等(如果您使用计时器,则此方法在 .net 中就是这样)


答案 1

第23章所述。调度和线程池,Spring通过 Quartz 调度程序 (http://www.quartz-scheduler.org/) 的集成类提供调度支持。对于简单的需求,我建议使用JDK。TimerTimer

请注意,Java 调度程序通常用于触发面向 Java 业务的作业。对于系统管理员任务(就像你给出的例子),你应该更喜欢cron和传统的管理工具(bash等)。


答案 2

如果您使用的是Spring,则可以使用内置的Quartz或Timer钩子。查看 http://static.springsource.org/spring/docs/2.5.x/reference/scheduling.html


推荐