执行之间不刷新Spring Cloud Dataflow Task属性

我正在使用Cloud Foundry服务器jar文件在Pivotal Cloud Foundry中运行Spring Cloud Dataflow . 我有一个任务应用程序,它是一个Spring Batch作业,我正在使用@ConfigurationProperties来配置批处理作业的参数 .

我第一次启动任务时,传递的属性如下:

task launch --name job-truncate --properties "app.job-truncate.truncate.location-id=1, app.job-truncate.truncate.week-end-date=2018-02-01"

批处理作业成功完成 .

如果我再次启动相同的任务,但具有不同的属性,例如:

task launch --name job-truncate --properties "app.job-truncate.truncate.location-id=2, app.job-truncate.truncate.week-end-date=2018-01-31"

作业已执行,但应用程序会保留上一次运行的属性 . 我可以检查 Cloud 代工厂控制台并验证应用程序的用户提供的env变量是否相同 . 我在服务器应用程序上做了一些调试,看起来服务器应用程序查找具有相同名称的应用程序,然后发出rest api调用以启动相同的应用程序,忽略任何更改的属性 .

这是预期的行为吗?如果是这样,那么确保在每次运行时刷新属性的最佳方法是什么 .

回答(1)

2 years ago

对于在CloudFoundry上运行的任务,我们不会修改执行之间的属性 . 这个想法是那些被设置为Droplet上的环境变量而不会改变 . 我们确实修改了执行之间的命令行参数,因此如果要覆盖属性,可以使用命令行参数来执行此操作 .