我即将升级JDK 版本在运行 Tomcat servlet 的数百台生产服务器中,从 Java 1.6.0_37-b06 升级到 Java 1.7.0_11.64。此次升级是大型系统升级的一部分从 RHEL 5 升级到 RHEL 6。
在生产部署之前,将在虚拟机的暂存环境中测试升级。
这两个版本之间是否存在已知的向后兼容性问题?
答案1
我无法评论 Tomcat 中运行的代码库,但我们正在运行带有 Java 7 的 Tomcat 6,没有任何问题;但是,开发人员需要进行自己的就绪测试。不过,有一些需要考虑的事项,例如
- 密钥库中需要转移到新 JDK 的自定义证书
- java.policy 文件中的自定义条目?例如 JMX 选项
- java.security 中的自定义条目,例如我们在此文件中调整 DNS TTL
Chef/Puppet 等配置管理工具可以在这方面提供帮助。
答案2
我从未遇到过 Java 6 升级到 Java 7 的问题...我通常通过 OpenJDK 打包进行迁移,以确保/etc/alternatives
所有符号链接都得到正确更新。您将会遇到很多然而,EL5 到 EL6 的移动机制存在更大的问题。