【问题标题】:passing properties to child task of composed-task-runner app of spring cloud dataflow将属性传递给 spring 云数据流的组合任务运行器应用程序的子任务
【发布时间】:2020-10-21 17:42:24
【问题描述】:

我正在尝试运行 spring 云数据流的组合任务运行器,其中包含 2 个子任务(A 和 B)。我将属性传递给 my-composed-task,它也必须传递给子任务,但它没有传递给子应用程序。 以下是我正在使用的命令:

用于在数据流外壳中创建任务:

task create my-composed-task --definition "A && B"

用于在数据流外壳中启动任务:

task launch my-composed-task --arguments "--spring.cloud.task.closecontextEnabled=true --increment-instance-enabled=true --composed-task-arguments=measurementyear=2020,--logging.level.org=ERROR,--spring.datasource.url=url,--spring.datasource.username=username,--spring.datasource.password=password" --properties "deployer.composed-task-runner.local.javaOpts=-Xmx8g"

属性参数 "deployer.composed-task-runner.local.javaOpts=-Xmx8g" 不会进入 my-composed-task 的子应用程序。

通过数据流外壳启动后,服务器显示以下命令用于创建任务:

我的任务

o.s.c.d.spi.local.LocalTaskLauncher      : Command to be executed: C:\Program Files\jdk1.8.0_152\jre\bin\java.exe -Xmx8g -jar C:\Users\shivani.chittauri\Desktop\jar\composedtaskrunner-task-2.1.0.RELEASE.jar --spring.cloud.task.closecontextEnabled=true --composed-task-arguments=measurementyear=2020,--spring.messages.encoding=UTF-8,--logging.level.org=ERROR,--spring.datasource.url=url,--spring.datasource.username=username,--spring.datasource.password=password --increment-instance-enabled=true --spring.cloud.dataflow.task.platform.local.accounts.default.javaOpts=-Xmx8g --spring.cloud.data.flow.platformname=default --spring.cloud.task.executionid=49 --spring.cloud.data.flow.taskappname=composed-task-runner

它的javaOpts为-Xmx8g,这是正确的

任务A

o.s.c.d.spi.local.LocalTaskLauncher      : Command to be executed: C:\Program Files\jdk1.8.0_152\jre\bin\java.exe -jar C:\Users\shivani.chittauri\Desktop\jar\A-1.0-SNAPSHOT.jar --spring.datasource.username=username --spring.datasource.url=url --spring.messages.encoding=UTF-8 --logging.level.org=ERROR --spring.datasource.password=password measurementyear=2020 --spring.cloud.data.flow.platformname=default --spring.cloud.task.executionid=50

它没有javaOpts,但应该有

任务 B

o.s.c.d.spi.local.LocalTaskLauncher      : Command to be executed: C:\Program Files\jdk1.8.0_152\jre\bin\java.exe -jar C:\Users\shivani.chittauri\Desktop\jar\B-1.0-SNAPSHOT.jar --spring.datasource.username=username --spring.datasource.url=url --spring.messages.encoding=UTF-8 --logging.level.org=ERROR --spring.datasource.password=password measurementyear=2020 --spring.cloud.data.flow.platformname=default --spring.cloud.task.executionid=51

它没有javaOpts,但应该有

我希望 javaOpts 也出现在子任务中,可以做些什么来解决它???

提前致谢!!

【问题讨论】:

  • 我其实也有类似的问题。我想通过部署器挂载一个卷。.volume 字段到所有子任务

标签: spring spring-boot shell spring-cloud spring-cloud-dataflow


【解决方案1】:

如果您想将appdeployer 属性传递给子任务,那么您需要引用子任务的app or label 名称才能使它们符合子任务的条件。

例如,在你的情况下,你需要使用这样的东西:

deployer.my-composed-task.A.local.javaOpts=-Xmx8g

您会在上述属性引用中看到组合任务的名称my-composed-task 和子任务的名称A

有关这方面的更多信息,您可以查看文档here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多