如何评估在应用程序中使用Spring Batch还是Scheduler?

问题描述

我已经在Spring Boot中开发了一个业务逻辑,需要每60天运行一次。对于将其转换为Spring批处理还是使用Scheduler批注,我有点困惑。 我应该考虑所有哪些因素来进行评估?他们中的任何一个都比其他任何人都具有优势吗? 我是Scheduler-batch概念的新手,这是我第一次进行相同的工作。

解决方法

如何评估在应用程序中使用弹簧批处理程序还是调度程序?

Spring Batch不是调度程序,因此它不是一个或一个问题。您可以同时使用两者,例如,使用调度程序来调度Spring Batch作业以在给定时间运行。

您应该问的问题是:值得在Spring Batch作业中转换您已经在Spring Boot中开发的业务逻辑,以从Spring Batch提供的功能中受益(整个应用程序仍可以是启动应用程序)。

请注意,由于您的作业需要每60天运行一次,因此使用@Scheduled意味着您将有一个运行两个月的JVM来运行作业。除非同时计划将同一JVM用于其他用途,否则这将是资源的低效使用。在这种情况下,像cron这样的其他调度机制更合适。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...