是否可以将现有 Java 项目转换为 Spring-批处理作业
Is it Possible to Convert Existing Java Projects into Spring-Batch Jobs
我的问题没有问题
Spring-Batch 是将少数一次性(一次性完成类型)java 项目(往往在某个时候与数据库交互)转换为自己的项目的正确工具"Jobs" 是 Spring-Batch 项目的一部分?
和Fluff/Background
我工作的公司有几个 "one off" java 项目,它们实际上只做一件事(在任意时间,或者只要我们告诉它),然后就完成了。他们倾向于在其生命周期的某个时刻与数据库进行交互,但不一定同时进行。
还有一些 projects/scripts 我的任务是创建,但与其在我们的盒子里有将近 10 个不同的 perl 脚本和几个罐子,我们可能想把所有东西都装满这些项目在一个地方,当我们需要 运行 时就 运行 (理想情况下通过命令行参数在远程机器上)。从我对 Spring-Batch 所做的研究来看,这听起来正是我们正在寻找的东西,尤其是功能 described here.
我比较熟悉 Spring-Boot 和 Spring 框架,但由于某种原因,阅读 Jobs 和设置时,领域语言对我来说似乎有点陌生,并且我只是想确保我不会浪费时间试图弄清楚这是否不现实。我们希望这只是任何 运行 独立的当前或未来项目的一个舒适的地方,以便我们尽量减少盒子上的混乱。澄清一下,我一直在说项目,但据我了解,如果这些项目要成为 Spring-Batch 项目的一部分,则需要将它们转换为作业。这现实吗?
(将评论转换为答案)
如果任务调度、事务管理、分块消费数据、start/stop 操作的灵活性、重试机制等事情是您发现自己花时间自己编写代码的事情,那么一定要看看 Spring Batch
它具有上述所有功能的强大的已经实施的设施。
如果你的应用程序有很多移动部分,消耗大量外部资源,那么在更宏大的计划中,你不妨潜入 EIP(企业集成模式)水域Apache Camel
和 Spring Integration
非常可靠的实现。
根据您的描述,您的一次性项目是合理的单一重点,因此新框架的学习曲线可能不值得。在这种情况下,如果有意义的话,专注于项目的可重用组件并将它们外部化到 core/helper 库中以实现重用目的可能就足够了。
我的问题没有问题
Spring-Batch 是将少数一次性(一次性完成类型)java 项目(往往在某个时候与数据库交互)转换为自己的项目的正确工具"Jobs" 是 Spring-Batch 项目的一部分?
和Fluff/Background
我工作的公司有几个 "one off" java 项目,它们实际上只做一件事(在任意时间,或者只要我们告诉它),然后就完成了。他们倾向于在其生命周期的某个时刻与数据库进行交互,但不一定同时进行。
还有一些 projects/scripts 我的任务是创建,但与其在我们的盒子里有将近 10 个不同的 perl 脚本和几个罐子,我们可能想把所有东西都装满这些项目在一个地方,当我们需要 运行 时就 运行 (理想情况下通过命令行参数在远程机器上)。从我对 Spring-Batch 所做的研究来看,这听起来正是我们正在寻找的东西,尤其是功能 described here.
我比较熟悉 Spring-Boot 和 Spring 框架,但由于某种原因,阅读 Jobs 和设置时,领域语言对我来说似乎有点陌生,并且我只是想确保我不会浪费时间试图弄清楚这是否不现实。我们希望这只是任何 运行 独立的当前或未来项目的一个舒适的地方,以便我们尽量减少盒子上的混乱。澄清一下,我一直在说项目,但据我了解,如果这些项目要成为 Spring-Batch 项目的一部分,则需要将它们转换为作业。这现实吗?
(将评论转换为答案)
如果任务调度、事务管理、分块消费数据、start/stop 操作的灵活性、重试机制等事情是您发现自己花时间自己编写代码的事情,那么一定要看看 Spring Batch
它具有上述所有功能的强大的已经实施的设施。
如果你的应用程序有很多移动部分,消耗大量外部资源,那么在更宏大的计划中,你不妨潜入 EIP(企业集成模式)水域Apache Camel
和 Spring Integration
非常可靠的实现。
根据您的描述,您的一次性项目是合理的单一重点,因此新框架的学习曲线可能不值得。在这种情况下,如果有意义的话,专注于项目的可重用组件并将它们外部化到 core/helper 库中以实现重用目的可能就足够了。