(转)关于服务器上tomcat获取时间少8个小时的问题

在“首选项- >Tomcat - >JVM Settings ”项,设定 JRE 的版本为“ jre1.5.0_06”,并且添加如下几个JVM Parameters :

         -Xms128m

         -Xmx512m

         -Dfile.encoding=UTF8

         -Duser.timezone=GMT+08

这是搜到的一种方法。

另一种方法是:

windows Xp pro service pack2 下Tomcat启动时间为GMT,比北京时间少8小时问题处理
机器系统为windows Xp professional service pack2
JDK版本为1.4.2_09
Tomcat版本为5.0.28
?
问题:用控制台启动 tomcat,发现显示时间比北京时间少8小时,在通过WEB SERVICE接口与DELPHI通信中,因为时间少8小时导致通信出错.
分析:开始以为是 TOMCAT设置时区未设置,不过 TOMCAT好象不设置时区咯
????? 第二步JDK上找原因,不过JDK是用native调用的 JVM里的配置咯;
????? 第三步 JVM里的设置,java -Duser.timezone=Asia/Shanghai不起作用咯,继续找.*.*;
????? 第四步猜想 JVM应该是取的windows的 时区设置,网上搜搜还真找到几个 时区设置出错的情况(非JAVA咯);
????? 第五步找了一台能正常设置时区windows注册表 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones],备份之,覆盖之.;
???? 测试.通过.HOHO~~~~;
据偶理解(好象本来就是这样呼),由于Windows 时区设置出错,导致 JVM取不到系统设置的时区,JDK在读取时区的时候在取不到的情况下缺省的GMT,从而使 Tomcat上显示的时候比北京时间少8小时;
 
然而,我是通过第一种方法解决的,但是,个人还是认为第二种方法的观点是正确的,而第一种方法只不过是在tomcat里打了个补丁。要是,按第二种方法修改了注册表,估计,也不用设置tomcat了。
 
临时解决方案:

tomcat项目中Date获取时间不对

 

tomcat项目启动后,发现log4j中打印的日志时间不对,查看服务器当前时间是上午09:00,日志中打印的时间为01:00,足足晚了8个小时。

 

1.检查服务器的时间和时区设置是否正确,若不对,使用"linux下如何修改时区和时间 "进行设置。

 

2.打开tomcat文件下的bin/catalina 文件,找到JAVA_OPTS,在设置中增加-Duser.timezone=GMT+08:

set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx800m -Duser.timezone=GMT+08

 

重启tomcat,观察日志时间即恢复正确。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值