当前位置: 首页 > 知识库问答 >
问题:

从spring-batch-admin迁移到spring cloud dataflow

潘佐
2023-03-14

在这种情况下,如果有50个批处理作业,就必须创建50über jar?这样做将是一个维护噩梦,创建许多jar和维护它们将是困难的。

有什么解决办法吗?因此,我们将能够将所有批处理作业打包在单个jar中,并可以在需要时随机启动任何作业?

如有任何帮助,将不胜感激,提前感谢

共有1个答案

钱旻
2023-03-14

为什么这是一件好事
让我花一分钟来回顾一下为什么我们认为这是一个更好的解决方案,以及为什么我不鼓励您采取单一的方法。在所有这些之后,我将提出一个替代方案,我不推荐,但应该有效。

如果您考虑一下大多数企业将批量功能从开发人员的笔记本电脑交付到生产的过程,通常是一个缓慢的过程,很少发布。这个过程很慢,代码可能需要通过多个小组(开发,一些来自外部QA,可能是某种形式的变更控制过程,然后最终是某种类型的运营团队来实际部署代码)。通常,需要通过该html" target="_blank">过程的代码段越小,通过该过程就越容易。

在本例中,对于包含50个批处理作业的系统,为了更改其中一个作业,您需要对所有作业执行该过程。分解它实际上简化了维护,因为您可以独立地更改和部署作业。开发人员只需要专注于手头的批处理作业。

迁移到über jars
从一个WAR文件迁移并将所有作业打包在其中的另一个好处是灵活性。您可以在任何基础结构上运行这些作业。想通过java-jar foo.jar命令在本地运行还是在裸机上运行?去争取吧。想通过cf push在CloudFoundry上运行它吗?你打赌。想把应用程序打包并在Kubernetes上运行吗?你可以的!虽然您可以在不使用anüber jar方法的情况下完成相同的工作,但由于基础设施可能会在不同的环境中发生变化,因此这种方法更加微妙。对于anüber jar,您需要保证的只是java版本。

此外,工件管理部分也是一个很好地解决了的问题。将über JAR推到Maven存储库是一个简单的过程,在整个java领域都得到了很好的审查。如何管理WAR文件真的不是。您可以将它们推送到Maven存储库,但这并不理想。通过转移到über jars,您的发布过程将在所有工作(以及所有应用程序)中变得非常标准化。

最后,搬到安伯罐子应该没那么难。它应该只是一个包装练习,假设你的工作被很好地定义了。如果他们不是,这是一个很好的机会,做一些健康的重组,以便他们更多的模块化在第一位(良好的工程实践)。

替代方法
我想从这里开始说,我不推荐这种方法。但是,它应该起作用。

与其为每个作业创建一个über jar,不如创建一个包含所有50个作业的über jar。您需要创建自己的commandlinerunner,它查看一个环境变量,以确定启动时要运行哪个作业,并关闭Spring Boot功能,以便在启动时自动执行作业。

 类似资料:
  • 注意:该项目正在移至 Spring Attic,不建议用于新项目。 建议使用 Spring Cloud Data Flow 替代,以管理和监视以后的 Spring Batch 作业。可以在此处阅读有关迁移到 Spring Cloud Data Flow 的更多信息。 Spring Batch Admin 是基于Spring Batch应用的监控管理工具,使用用Spring Batch Admin,通过web控制台监控和操作Job。

  • 我目前的系统如下: null

  • 我想从旧的spring boot安全应用程序迁移到KeyClope。下面是我的安全配置。 我已经安装了KeyClope,它正在8080端口上运行。我发现的问题是,我们应该在keydape管理页面上创建角色和用户,但我当前的系统是什么,用户和角色都在我的MySQL数据库上。我不想将用户和角色插入keydape以进行身份验证和授权。

  • 我有一个Spring 2.5.6的应用程序,它运行JDK 1.6。我改为版本4.3.6以使用JDK 1.8。 已经改变了一些方法和导入... 不再有编译错误。 但是,当我尝试使用Jetty启动应用程序时,出现了以下错误: 有人能帮我吗? 编辑:这是我的spring-security-config.xml(迁移期间未更改):

  • 我有一个spring mvc项目,想转换成spring boot。所以我改变了计划: POM文件: 启动(主)类: 只有这些改变,我做到了。使用此启动程序应用程序正在启动,但未打开。我想打开一个jsp作为欢迎文件。 项目目录结构:

  • 我们目前正在使用 SpringXD 将数据从各种数据源摄取到接收器。由于 Springxd 计划终止可用性,我们希望迁移到 Spring Cloud 数据流。 < li >我们为SpringXD编写了几个自定义模块。如何在SCDF使用相同的模块。在SCDF使用这些需要做什么改变。 < li >我们的集群配置了kerberos,SCDF支持kerberized kafka和hadoop吗?。 < l