为什么你认为参数不传递给任务应用程序?这对我来说可以。我创建了一个简单的任务,只是打印ARGS:
dataflow:>app register --type task --name hello --uri docker://dturanski/hello-world-task:v2
dataflow:>task create --name hello --definition "hello"
dataflow:>task launch hello --arguments "app.mytesk.test=aaa"
日志文件:
Starting: TaskExecution{executionId=5, parentExecutionId=null, exitCode=null, taskName='hello', startTime=Sat Oct 14 21:21:42 GMT 2017, endTime=null, exitMessage='null', externalExecutionId='null', errorMessage='null', arguments=[--spring.datasource.username=root,spring.cloud.task.name=hello, spring.datasource.url=jdbc:mysql://10.59.251.149:3306/dataflow, -spring.datasource.driverClassName=org.mariadb.jdbc.Driver, --spring.datasource.password=srz427UgQ0, app.mytesk.test=aaa, -spring.cloud.task.executionid=5]}
arg: --spring.datasource.username=root
arg: --spring.cloud.task.name=hello
arg: --spring.datasource.url=jdbc:mysql://10.59.251.149:3306/dataflow
arg: --spring.datasource.driverClassName=org.mariadb.jdbc.Driver
arg: --spring.datasource.password=srz427UgQ0
arg: app.mytesk.test=aaa
arg: --spring.cloud.task.executionid=5
其实,ARGS标准Starting: TaskExecution
消息中已经列出。
我使用SCDF kubernetes服务器部署任务应用程序,环境变量可以显示在任务应用程序中,但参数不能显示,然后,我打印任务应用程序中的ApplicationArguments的内容,我发现它是空的 – kyo
如果我更改spring.cloud.deployer.kubernetes.entryPointStyle = shell,这些属性将通过环境变量传入,并显示在任务应用程序中。 – kyo
如果我使用SCDF本地服务器,这是没有问题的。 – kyo