当前位置: 首页 > 知识库问答 >
问题:

将财产传递给springclouddataflow的composed-task-runner应用程序的子任务

艾晋
2023-03-14

我正在尝试运行spring云数据流的composed-task-runner,它有两个子任务(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 as -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也出现在子任务中,可以做些什么来解决它???

提前感谢!!

共有1个答案

贝德辉
2023-03-14

如果要将< code>app或< code>deployer属性传递到子任务中,则需要引用子任务的< code>app或label名称,以便使它们符合子任务的条件。

例如,在您的情况下,您需要使用这样的内容:

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

在上面的属性引用中,您可以看到组合任务的名称mycompositedtask和子任务的名称A

有关详细信息,请查看此处的文档

 类似资料:
  • 问题内容: 我有一个运行自定义gradle任务的Java应用程序,该应用程序在被调用时需要一些参数。这些是: Gradle任务如下所示: 我已尝试运行,但无法正常工作。 问题答案: 从Gradle 4.9开始,可以使用–args传递命令行参数。例如,如果要使用命令行参数启动应用程序,则可以使用 gradle run –args =’foo –bar’ 另请参阅Gradle应用程序插件 如何升级Gr

  • 问题内容: 我正在这样运行我的JavaFX应用程序: 类扩展。在特殊的FX线程中启动JavaFX窗口,但是在我的main方法中,我什至没有类的实例。 如何将非字符串参数(在我的情况下为 控制器 )传递给实例?它是有缺陷的设计吗? 问题答案: 通常,除了传递给您的主程序的程序参数外,无需将参数传递给主应用程序。想要这样做的唯一原因是创建一个可重用的对象。但这并不需要是可重用的,因为这是组装您的应用程

  • 我有在Tomcat 8服务器上运行的应用程序。应用程序使用log4j2进行内部日志记录。我想有一个application.war和两个不同的日志配置文件,如:log4j2_dev.xml和log4j2_prod.xml取决于环境。 在生产环境中,我希望部署应用程序。war并使用log4j2_prod.xml,在开发环境中部署应用程序。war并使用log4j2_dev.xml 那么,我如何指定在应用

  • 我正在用Raku做实验,试图弄明白如何用子命令编写程序。当我运行时,: 我得到

  • Pascal允许将数组作为子程序参数传递。 以下函数将数组作为参数,并返回通过数组的数字的平均值,如下所示 - program arrayToFunction; const size = 5; type a = array [1..size] of integer; var balance: a = (1000, 2, 3, 17, 50); average: real;

  • 问题内容: 我正在使用pm2启动我的应用程序,但无法将参数传递给它。我正在使用的命令是pm2 start app.js-dev。尽管这永远有效。 问题答案: 您可以按照此票证所述进行操作:https : //github.com/Unitech/pm2/issues/13 尽管如果通过环境,则可能需要考虑利用环境变量。使用此工具,您可以创建一个变量,该环境中的任何进程都可以访问该变量。 因此,您有

  • 简介 Laravel Envoy 为定义远程服务器的日常任务,提供了一套简洁、轻量的语法。Blade 风格语法即可实现部署任务的配置、Artisan 命令的执行等。目前,Envoy 仅支持 Mac 和 Linux 操作系统。 安装 首先,运行 Composer 的 global require 命令进行全局安装 Envoy: composer global require laravel/envo

  • 本文向大家介绍C#程序将参数传递给线程,包括了C#程序将参数传递给线程的使用技巧和注意事项,需要的朋友参考一下 要使用线程,请在代码中添加以下命名空间- 首先,您需要在C#中创建一个新线程- 上面,threadDemo是我们的线程函数。 现在将参数传递给线程- 上面设置的参数是- 示例 让我们看完整的代码,以将参数传递给C#中的线程。 输出结果