Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以在web应用程序中运行cron作业?_Java_Tomcat_Cron_Scheduled Tasks_Scheduler - Fatal编程技术网

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

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的调度

在JavaWeb应用程序(servlets/SpringMVC)中,使用tomcat是否可以运行cron作业类型服务

e、 g.每15分钟清除一次日志数据库

您可以采用独立于容器的方式来实现这一点,或者必须使用tomcat或其他容器来运行它吗


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

如果使用Spring,则可以使用内置石英或计时器挂钩。请参见

它将是特定于容器的。您可以在Java中使用或仅使用Java的调度并发UTIL()或作为操作系统级的cron作业来完成


每15分钟一次似乎是极端的。一般来说,我还建议您只截断/删除不再写入的日志文件(它们通常会在夜间滚动)。

作业是面向批处理的。通过手动触发器或cron样式(如您所愿)

我还是不明白你把webapp和cron风格的工作联系在一起?我能想到的唯一一个webapp用例是,您希望有一个HTTP端点来触发作业(但这与您关于“cron风格”的说法相反)

通常使用专用框架,解决“批处理作业”领域的问题。我可以推荐quartz。

如中所述,Spring通过集成类为
计时器和quartz调度器()提供调度支持。对于简单的需求,我建议使用JDK
Timer


请注意,Java调度器通常用于触发面向Java业务的作业。对于系统管理任务(如您给出的示例),您应该更喜欢cron和传统的管理工具(bash等)。

cletus,日志文件只是一个示例,但重点是。ScheduledExecutorService是以固定的时间间隔运行,还是取决于应用程序回收等?不确定为什么会被否决+1.