顺便说一句:我的应用程序是一些REST控制器和一些批处理作业的组合。那么使用云数据流有意义吗?如果没有,那么是否有更好的控制台管理器用于批处理作业(如重新启动、取消作业门户)等?
Spring Data Flow需要运行一个服务器,在那里可以部署JAR(将任务注册为Spring batch上的包装器)。此服务器将负责编排和部署到运行时。如果您有大量的工作负载,您可能需要使用cluster和Kubernetes,它支持通过cron进行调度,但是如果现在您有一个单独的服务器可以一起处理所有的事情,并且没有性能问题,您可以使用本地模式来简化它。但是在本地模式下,您必须自己管理调度,例如使用Quartz。
https://dataflow.spring.io/docs/feature-guides/batch/schedulation/
因此,仅仅使用SCDF进行监视可能会很复杂,而且可能需要重新考虑应用程序设计。另外,正如我所看到的,SCDF在任务之间有一些依赖关系时是很好的。
也许编写几个RESTendpoint来获取失败的作业并重新运行它们会更容易--一切都取决于您需要什么以及您的应用程序有多大。
PS:我目前也在考虑使用spring batch monolith还是云就绪任务:)
根据我所看到的,在Spring Cloud Dataflow(SCDF)中创建流将部署底层应用程序,绑定通信服务(如RabbitMQ),设置Spring Cloud stream环境变量,并启动应用程序。这一切都可以使用cf push命令轻松手动完成。 同时,我在Spring Cloud Dataflow中遇到了一些缺点: SCDF服务器是PCF上的内存占用者(我有一个只有6个应用程序的流,但我需
我试图在Spring批处理中配置几个数据源。启动时,Spring批处理抛出以下异常: 批处理配置的代码段 不知道为什么我会看到这个异常,因为我看到了一些基于xml的Spring批处理配置,这些配置声明了多个数据源。我使用的是Spring批处理核心版本3.0.1.发行版和Spring Boot版本1.1.5.发行版。如有任何帮助,将不胜感激。
我正在设置Spring Cloud Data Flow的实例。我运行了以下命令: 在第二步中,我使用的是postgres数据库,而不是默认的h2。 我已经开发了一个Spring Boot作业,使用spring批处理部署在这个平台窗体中。该作业使用两个数据源:Spring的springclouddataflow和任务元数据,以及我的业务逻辑的billrun。当我在本地运行应用程序时,它会像预期的那样
我使用的是Spring Batch 2.1.8。释放我有一个文件,它由一些头信息和一些需要处理的记录组成。 我有一个使用面向块处理的步骤。该步骤包含ItemReader和ItemWriter的实现。ItemReader实现是线程安全的,而ItemWriter不是。 我想在处理(或写入)任何记录之前使用标题信息。在继续使用面向块的处理时,如何确保这一点? 建议的解决方案:一种解决方案可以是编写一个预
我试图在spring boot项目中配置spring批处理,我想在没有数据源的情况下使用它。我发现是一条可行之路,但我无法让它发挥作用。问题是我已经定义了另外3个数据源,但我不想在springBatch中使用其中任何一个。 我已经检查了默认实现,如果找不到数据源,它将完全按照我的要求执行。问题是我有三个,不想用任何一个。 请不要建议使用hsql或其他内存DB,因为我不想这样。
我使用Spring批处理从Oracle数据库读取数据并将结果写入CSV文件。 我还需要将spring批处理元数据表与oracle数据库分开,为此,我在批处理配置中配置了两个不同的数据源(spring批处理元数据的内存数据库)。 这是我的代码: 批处理配置。JAVA 然后我的itemReader bean看起来像: 当我运行批处理时,一切正常。 但是当我尝试在我的BatchApplication中添