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

Posted

技术标签:

【中文标题】Spring Cloud Dataflow - 处理任务中的参数【英文标题】:Spring Cloud Dataflow - handling argument in Task 【发布时间】:2019-12-15 01:57:32 【问题描述】:

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

【问题讨论】:

【参考方案1】:

在 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 - 处理任务中的参数的主要内容,如果未能解决你的问题,请参考以下文章

Spring Cloud DataFlow 组合任务未启动

在 Spring Cloud Dataflow 中引用属性

需要有关如何在多个专用服务器中创建部署 spring-cloud-dataflow 应用程序以创建流的建议

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

Spring Cloud Dataflow 与 Apache Beam/GCP 数据流说明

我们如何在 Spring cloud dataflow kafka binder 中为 Kafka 维护租户数据隔离?