使用Spring Cloud Dataflow为部署到PCF的所有任务设置java时区

时间:2018-04-03 21:00:52

标签: java timezone pivotal-cloud-foundry spring-cloud-dataflow spring-cloud-task

我有一个Spring Batch / Spring Cloud Task,我使用Spring Cloud Dataflow部署到PCF。我试图在Dataflow中的某个地方定义时区(JAVA_OPTS:'-Duser.timezone=America/New_York'),以便任何部署到它的任务继承时区。

到目前为止,我能够将其定义为PCF中Dataflow的用户提供的env变量,我看到Dataflow日志显示正确的时区。但是,当我使用数据流部署任务时,任务日志中的时区保持默认值UTC。

如前所述:CloudFoundry Timezone,我可以直接在任务上以相同的方式定义它(如用户提供的env var),然后任务采用正确的时区。但由于我有超过30个这些任务,我需要一种方法在数据流级别定义它,并让所有任务继承它。

我也尝试在任务定义级别定义它而没有运气。

如何在数据流级别为所有要继承的任务定义-Duser.timezone属性?或者,如果不可能,在外部定义它的正确位置在哪里?

感谢。

1 个答案:

答案 0 :(得分:0)

全球"没有直接的机制。覆盖并影响每个流/任务应用程序的JAVA_OPTS,同时通过PCF上的SCDF进行编排。任务接受命令行参数,但仍然无法修改为JAVA_OPTS。

我已创建spring-cloud/spring-cloud-deployer-cloudfoundry#242来跟踪此要求 - 随时分享任何其他想法。

除了基础级别设置外,您还可以在离线构建包中补充JAVA_OPTS。同样,在使用该buildpack时,它将应用于所有应用程序。