Java 是否可以在web应用程序中运行cron作业?
在JavaWeb应用程序(servlets/SpringMVC)中,使用tomcat是否可以运行cron作业类型服务 e、 g.每15分钟清除一次日志数据库 您可以采用独立于容器的方式来实现这一点,或者必须使用tomcat或其他容器来运行它吗Java 是否可以在web应用程序中运行cron作业?,java,tomcat,cron,scheduled-tasks,scheduler,Java,Tomcat,Cron,Scheduled Tasks,Scheduler,在JavaWeb应用程序(servlets/SpringMVC)中,使用tomcat是否可以运行cron作业类型服务 e、 g.每15分钟清除一次日志数据库 您可以采用独立于容器的方式来实现这一点,或者必须使用tomcat或其他容器来运行它吗 请指定该方法是否保证在特定时间运行或每15分钟运行一次,但可能会被重置等。如果应用程序回收(如果使用计时器,则在.net中就是这样)如果使用Spring,则可以使用内置石英或计时器挂钩。请参见它将是特定于容器的。您可以在Java中使用或仅使用Java的调度
请指定该方法是否保证在特定时间运行或每15分钟运行一次,但可能会被重置等。如果应用程序回收(如果使用计时器,则在.net中就是这样)如果使用Spring,则可以使用内置石英或计时器挂钩。请参见它将是特定于容器的。您可以在Java中使用或仅使用Java的调度并发UTIL()或作为操作系统级的cron作业来完成
每15分钟一次似乎是极端的。一般来说,我还建议您只截断/删除不再写入的日志文件(它们通常会在夜间滚动)。作业是面向批处理的。通过手动触发器或cron样式(如您所愿) 我还是不明白你把webapp和cron风格的工作联系在一起?我能想到的唯一一个webapp用例是,您希望有一个HTTP端点来触发作业(但这与您关于“cron风格”的说法相反) 通常使用专用框架,解决“批处理作业”领域的问题。我可以推荐quartz。如中所述,Spring通过集成类为
计时器和quartz调度器()提供调度支持。对于简单的需求,我建议使用JDKTimer
请注意,Java调度器通常用于触发面向Java业务的作业。对于系统管理任务(如您给出的示例),您应该更喜欢cron和传统的管理工具(bash等)。cletus,日志文件只是一个示例,但重点是。ScheduledExecutorService是以固定的时间间隔运行,还是取决于应用程序回收等?不确定为什么会被否决+1.