Spring boot 在CloudFoundry上演示Spring批处理应用程序的最佳方法

Spring boot 在CloudFoundry上演示Spring批处理应用程序的最佳方法,spring-boot,spring-batch,cloud-foundry,Spring Boot,Spring Batch,Cloud Foundry,我在CloudFoundry上部署了一个Spring批处理应用程序。我曾经使用jobLauncher通过Rest控制器或Spring引导主方法来运行它。此批处理作业还需要在其一个步骤(第一步)中包含一个CSV文件,默认情况下,该文件是从类路径(新类路径资源(“input.CSV”))读取的。然而,现在为了演示的目的,我想通过Spring的Rest控制器使用Swigger ui将其发送到批处理作业,即CSV文件->Swigger ui->Rest控制器->Spring批处理。有没有关于如何实现这一

我在CloudFoundry上部署了一个Spring批处理应用程序。我曾经使用jobLauncher通过Rest控制器或Spring引导主方法来运行它。此批处理作业还需要在其一个步骤(第一步)中包含一个CSV文件,默认情况下,该文件是从类路径(新类路径资源(“input.CSV”))读取的。然而,现在为了演示的目的,我想通过Spring的Rest控制器使用Swigger ui将其发送到批处理作业,即CSV文件->Swigger ui->Rest控制器->Spring批处理。有没有关于如何实现这一目标的建议?

你的建议听起来非常合理。我不知道你的问题是什么。当您试图将其编码在一起时,是否存在一些特定的问题?你是在寻找如何做某事的例子吗?您的请求越具体,人们就越容易提供帮助。为什么不通过Spring Cloud Data Flow启动呢?嗨@MichaelMinella和Daniel Mikusa,感谢您的投入。对不起,没有说得很具体。我所说的Cloud foundry是指SAP Cloud foundry。我很想使用SpringCloudDataFlow(我还没有尝试过)。但是,我怀疑SAP是否已经启用了其云数据流版本。我一定会查清楚的。同时,为了解决这个问题,我使用了持久性(SAP HANA)来存储REST控制器内部的CSV文件。现在,当作业执行时,我从数据库中获取CSV并对其进行处理。现在这个很好用。感谢Michael提供的春季批处理教程和framework@DanielMikusa,我面临的挑战是无法将CSV文件从REST控制器传递到批处理作业。因为,在我的例子中,Rest控制器触发批处理作业并传递作业参数,所以理想情况下,我宁愿将CSV文件作为参数之一传递,或者至少通过某种方式传递。正如我在前面的评论中提到的,目前我已经使用DB从Rest控制器保存CSV(由于前面提到的限制而被迫这样做,但应用程序不需要),并在作业执行中再次获取相同的CSV。希望这种方法行吗?@SantoshKashyap-最简单的解决方案是控制器将文件写入临时目录,并将临时文件名传递给批处理作业。编写临时文件是可以的,因为它们将一直保存到下一个应用程序重新启动。你必须注意的问题是应用程序是否崩溃/重新启动。在这种情况下,您将丢失该文件,因此当应用程序返回时,如果批处理作业尝试重新启动,数据将丢失。