我正在尝试运行Spring Cloud数据流的组合任务运行程序,其中包含2个子任务(A和B)。我正在将属性传递给my-composited-task,该属性也必须传递给子任务,但没有传递给子应用程序。 以下是我正在使用的命令:
用于在数据流shell中创建任务:
task create my-composed-task --definition "A && B"
用于在数据流Shell中启动任务:
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出现在子任务中,该如何解决呢?
提前谢谢!
答案 0 :(得分:0)
如果要将app
或deployer
属性传递到子任务中,则需要引用子任务的app or label
名称以使其符合子条件的条件任务。
例如,在您的情况下,您需要使用以下内容:
deployer.my-composed-task.A.local.javaOpts=-Xmx8g
在以上属性参考中,您会看到组成的任务my-composed-task
的名称和子任务A
的名称。
有关更多信息,您可以查看文档here