2017-04-20 27 views
0

我有一个在SAP Cloud Platform中运行的Java服务,它使用java.util.TimeZone库进行时区转换。但是最近我知道时区转换规则可能会改变,例如中欧时区可能会在UTC + 01:00更改为UTC + 02:00。我知道这可能不会发生在几百年,但有可能。如果发生这种情况,我的服务中的数据可能是错误的。是否有可能以及如何更新Cloud Foundry中的JDK

Oracle有一个时区更新工具(http://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html),它能够用最新的时区数据更新JDK。要运行它,我必须:

  1. 停止所有正在运行的JDK/JRE实例。

  2. 运行命令“java -jar tzupdater.jar选项”作为管理员。

我的问题是:

  1. 是否能铸造已经考虑这样的问题?如果是的话,我该怎么做才能使用这个功能?

  2. 我有可能为我的服务更新Cloud Foundry中的JDK吗?如果是,如何?

非常感谢!

回答

1
  1. 铸造厂能否考虑过这样的问题?如果是的话,我该怎么做才能使用这个功能?

以某种方式是。 Cloud Foundry通过它的Java Build Pack将使您的JVM保持最新状态。根据您提供的链接中的以下声明,这是获取最新时区数据的首选方式。

Oracle建议您使用最新的Oracle Java SE平台JDK或JRE更新版本作为提供时区数据更新和其他产品改进(如安全修复程序)的首选方式。

http://www.oracle.com/technetwork/java/javase/tzupdater-readme-136440.html#introduction

所有你需要做的,以确保您的JVM熬夜最新的是定期cf pushcf restage您的应用程序。这将导致构建包运行并产生一个新的包含最新JVM的小滴。

  1. 我有可能为我的服务更新Cloud Foundry中的JDK吗?如果是,如何?

是的。通过构建包。 Java构建包负责安装JVM。它会在分段时选择最新的一个(除非另有说明)。所以要更新你的JVM,你只需要重新调整你的应用程序。

相关问题