Spring Cloud 数据流任务属性在执行之间不会刷新



我正在使用Cloud Foundry服务器jar文件在Pivotal Cloud Foundry中运行Spring Cloud Dataflow。我有一个任务应用程序,它是一个 Spring 批处理作业,我正在使用 @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 Foundry 控制台并验证应用程序的用户提供的 env 变量是否相同。我在服务器应用程序上做了一些调试,看起来服务器应用程序查找具有相同名称的应用程序,然后发出 rest api 调用以启动同一应用程序,而不考虑任何更改的属性。

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

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

最新更新