Spring Cloud Dataflow Task 属性不会在两次执行之间刷新
Spring Cloud Dataflow Task properties are not refreshed between executions
我正在 运行宁 Spring Pivotal Cloud Foundry 中的 Cloud Dataflow,使用 Cloud Foundry 服务器 jar 文件。我有一个任务应用程序,它是一个 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 控制台并验证应用程序的用户提供的环境变量是否相同。我在服务器应用程序上进行了一些调试,看起来服务器应用程序正在查找具有相同名称的应用程序,然后发出 rest api 调用以启动同一个应用程序,忽略任何更改的属性。
这是预期的行为吗?如果是这样,确保在每个 运行.
上刷新属性的最佳方法是什么?
对于 CloudFoundry 上的任务 运行,我们不会在执行之间修改属性。这个想法是那些被设置为液滴上的环境变量并且不会改变。我们确实会在两次执行之间修改命令行参数,因此如果您想覆盖属性,可以使用命令行参数来实现。
我正在 运行宁 Spring Pivotal Cloud Foundry 中的 Cloud Dataflow,使用 Cloud Foundry 服务器 jar 文件。我有一个任务应用程序,它是一个 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 控制台并验证应用程序的用户提供的环境变量是否相同。我在服务器应用程序上进行了一些调试,看起来服务器应用程序正在查找具有相同名称的应用程序,然后发出 rest api 调用以启动同一个应用程序,忽略任何更改的属性。
这是预期的行为吗?如果是这样,确保在每个 运行.
上刷新属性的最佳方法是什么?对于 CloudFoundry 上的任务 运行,我们不会在执行之间修改属性。这个想法是那些被设置为液滴上的环境变量并且不会改变。我们确实会在两次执行之间修改命令行参数,因此如果您想覆盖属性,可以使用命令行参数来实现。