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

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

【问题讨论】:

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


    【解决方案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 被传递给任务应用程序。

    【讨论】:

    • 如果我们可以通过编程方式而不是手动传递它,有什么办法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 2018-01-27
    • 2017-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多