Spring Cloud Dataflow - 处理任务中的参数

标签 spring spring-cloud-dataflow spring-cloud-task

我想在 Spring Cloud Dataflow 中启动任务时将对象的 ID 传递给变量。我知道它可以通过参数或参数来完成,但我不知道如何在 Java 代码中处理这些参数或参数,所以我可以接管这个值。您能否说明如何做到这一点?

最佳答案

在 Spring Cloud Data Flow 的上下文中,您可以将 argumentsproperties 传递给您的任务应用程序。

您为 Spring Cloud Task 应用程序传递的参数 是任务应用程序本身的命令行参数。您需要将参数限定为应用程序的命令行参数。

您为 Spring Cloud Task 应用程序传递的属性是应用程序配置属性或任务部署器属性。他们必须使用前缀 appdeployerscheduler

例如,对于开箱即用的 timestamp 任务应用程序,您可以在以下示例中看到如何使用参数和属性:

  • 注册开箱即用的任务应用程序
  • 创建时间戳任务:
dataflow:>task create a1 --definition "timestamp"
  • 使用参数和属性启动任务
dataflow:>task launch a1 --arguments "--spring.main.banner-mode=off" --properties "app.timestamp.format=YYYY/DD/MM"

在上述情况下,命令行参数--spring.main.banner-mode=off 被传递给时间戳应用程序,而时间戳应用程序的属性format 是传递给任务应用程序。

关于Spring Cloud Dataflow - 处理任务中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57394244/

相关文章:

spring - Spring ApplicationEventPublisher 单元测试

spring-boot - Spring Integration Flow 与具有动态查询的 Jdbc 消息源

cloud-foundry - 使用 Spring Cloud Task 在启用任务的 Cloud Foundry 上运行任务

java - Spring 云任务

java - java spring 微服务中的 postgres 不显示数据

java - 分类器没有伴生对象,因此必须在这里初始化

java - Spring Boot 1.5.3 本地 CDF 服务器

java - Spring Cloud Data Flow 将数据传递给任务

linux - 在 Linux 中的 Spring Cloud 数据流中注册 Spring Batch 应用程序

java - "contains"即使覆盖 equals 方法后,带有 Set 的方法也不起作用