升级ALUI组件内嵌JVM
原因:Daylight Saving Time在欧美国家广泛应用,比如北美和澳大利亚。ALUI内嵌的JRE是1.4.2_06版本没有包含最新的DST开始和结束日期变化。如果Server的操作系统是Windows的话,MSFT通过Microsoft Update推送DST Change的补丁。这会导致系统时间和JRE时间不一致问题,一些使用内嵌JRE的服务会因此意外关闭,或者Portal中相应的组件工作不正常。常见的是Analytics统计数据错误和Automation Service执行的job时间错误。
更多信息:
Sun's Java Runtime Environment and 2007 DST rule changes
http://java.sun.com/developer/technicalArticles/Intl/USDST/
升级哪个?
$PT_HOME/jre142
Analytics/Collab/ALI Installer残留物
$PT_HOME/jre1.4.2_06
Publihser/Studio残留物
$PT_HOME/common/jre/1.4.2/bin/java 这个才是!
1.4.2_06
用途:ALI 6.1(Document Repository, API Service, Automation, Content Upload), Collab 4.2, Publisher 6.4, Studio 2.2, Analytics 2.1
步骤(以Windows OS,应用服务器IIS为例):
http://java.sun.com/j2se/1.4.2/download.html
注意:下载JDK而不是JRE,因为Publisher会用到javac compiler编译,如果用JRE的话会看到出错信息,说无法找到javac。
从Sun网站下载Sun J2SDK 1.4.2_17 for windows,安装到任意位置。为了方便和安全问题,有时候会因为权限问题无法在Portal Server上安装msi包,可以安装在虚拟机中或者其他机器上,然后把安装文件夹复制出来。复制j2re1.4.2_17到%PT_HOME%目录下。
运行services.msc,停止所有BEA Aqualogic相关服务,默认均为BEA ALI开头。
重命名%PT_HOME%\common\jre\1.4.2目录为1.4.2_old,然后把j2re1.4.2_17复制到该目录下重命名为1.4.2。其实只要注意目录层次结构即可。
为何要用这种方法升级?
可以免去改组件配置文件的麻烦。
重新启动ALI/Collab/Publisher/Studio/Analytics。需要注意的是,ALI组件中要先启动Document Repository再启动Content Upload,否则可能会出error。完工!
ALI 6.5/Collab 4.5/Analytics 2.5/PEP是用JRE 1.5.0_12版本,升级的方法相似,只是要注意%PT_HOME%\common下面有4个不同的JRE:
1.4.2
1.5.0
1.5.0_32
1.5.0_64
最简单的办法就是替换每一个目录,暂时还没有仔细研究各个JRE用途,稍后更新。
升级Tomcat和WLS的JRE。
Tomcat有两种情况,一种是包含JRE的版本,另外一种是用系统JRE的,比如直接下载的zip包。
ALI 6.1.x支持5.0.28,如果用ALI安装包中自带的Tomcat 5.0.28,那么JRE的版本为1.4.2_06。升级的方法很简单,用JRE1.4.2_17替换$CATALINA_HOME\jre。
如果是不带JRE的Tomcat 5.0.28版本,情况就比较复杂。
如果是Windows下,最简单的是把Tomcat安装成Service之后启动Tomcat5w,用GUI设置JRE位置。
修改$CATALINA_HOME/bin/Catalina.sh或者catalina.bat,指定使用某一个JVM。本人推荐给Tomcat一个独立的JRE以避免混淆,我习惯于放在$CATALINA_HOME/jre下。
其实ALI 6.1.x是支持Tomcat 5.5.x的,虽然相对于5.0.x有些变化,但是改动有限,修改的方法一样。
最好不要直接修改系统变量JAVA_HOME。
WLS 8.1.x
8.1.x使用的是JDK 1.4,升级的方法和Tomcat类似。自己摸索一下即可。