运行 spring 批处理,在 Cloud Foundry 中进行分区

Running a spring batch with partitions in cloud foundry

我创建了一个带有 spring 批处理(带分区)应用程序的应用程序,以此 https://github.com/mminella/S3JDBC 为例。我的应用程序正在从对象存储中读取一些文件并进行一些处理并写回对象存储。我的带有本地分区的应用程序在我的机器上运行良好。

我将 maven 更改为 cloud foundry 中的 运行,对部署程序分区处理程序和步骤执行侦听器进行了更改,并在 pcf 上部署。

但是在尝试在 pcf 上推送和 运行 应用程序时,我遇到了一个问题: 失败的 URI /v2/info。我尝试记录错误,发现有一次调用我的应用程序,例如 https://mypcf.com:443/v2/info,然后它给出了错误。由于某些限制,我无法提供完整的日志。所以我想知道:

  1. 在pcf中部署一个spring批处理(有没有额外的配置 需要,除了 Maven 依赖和代码更改 deployerpartitionhandler 和 stepexecutionlistener 和@cloudtask): org.springframework.cloud spring-cloud-deployer-cloudfoundry 1.1.0.M1
  2. 是否必须为分区作业提供单独的数据库服务,如 my-sql。我不能使用 H2(默认的,如果我 不要配置任何东西)?
  3. 我是否需要在 pcf 中进行任何配置以支持 运行 多个分区?
  4. 因为我正在 运行ning 远程分区,我可以 运行 在本地 STS 或 Intellij(不是在 PCF-DEV 上)上的那个应用程序,以便它 运行 我的应用程序在 pcf(remote) 并启动工人。(抱歉这个愚蠢的问题, 我是 PCF 的新手。

感谢您查看我的示例。回答您的问题:

  1. 您应该能够使用最新的部署程序版本(而不是那个相当旧的版本)。
  2. 是的。分区步骤都需要能够共享相同的作业存储库数据存储,因此像 H2 这样的内存数据库将不适用于该用例。
  3. 除了定义数据源之外,这就是在 PCF 中运行所需的全部内容。也就是说,还有其他需要配置的东西,但您可以使用其他机制来进行配置(Spring Cloud Config Server、application.properties/yml,等等)。
  4. 是的,如果您使用的是 CF 部署程序,您应该能够在本地 运行 主服务器并将工作人员部署到 PCF 上。