java - 有没有办法单独部署/更新 Spring Batch 作业?

标签 java tomcat deployment spring-batch

我们正在运行一个用于将 CSV 文件导入数据库的 Spring Batch Web 应用程序。此 Web 应用程序目前正在发展,并不断被新工作扩展。

当前的更新过程如下所示: 1.编写新代码 2.建一个war文件 3.部署新建的war文件并替换Tomcat Webserver上的整个Web应用

当正在运行的系统当前正在向数据库导入/写入文件时,这可能会给我们带来麻烦。

我想知道是否有一种聪明的方法可以单独升级 spring batch 作业?

我已经考虑过将项目拆分成许多不同的 Web 应用程序,但是将所有库都捆绑到 war 文件中可能会带来很多开销。

构建此类应用程序是否有任何最佳实践?

感谢您的帮助!

最佳答案

众所周知,这种打包模式会导致很多问题,例如您所面临的问题。我建议将您的作业打包为单独的 jar,并让您的应用程序在单独的进程中启动这些作业。使用此模型,您可以部署/升级作业,而不会影响用于启动它们的 Web 应用程序。

根据记录,Spring Batch Admin 遭受了这种打包模型的困扰(如描述的 here ),推荐的替代品是 Spring Cloud Data Flow (它使用我之前描述的模型)

关于java - 有没有办法单独部署/更新 Spring Batch 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58792028/

相关文章:

java - wordpress servlet 映射不工作

amazon-web-services - Azure 中类似的东西就像 AWS 中的 ebextensions

ruby-on-rails - Nginx 不再启动并且不提供输出

java - 将带有 key 动态的 json 转换为 POJO.. java spring boot

java - 是否可以使用 Java AWS API 更新 Route53 记录?

JavaFX 拖放到 GridPane?

Java 手动客户端证书身份验证

spring - ldap 与 CAS 服务器集成时出错

ruby-on-rails - 基于来源的条件 .gitignore

java - 为什么在 Java 中使用并行数组?