java时区setDefault效果

sam*_*amz 9 java timezone tomcat default utc

以下如何使用JPA和Hibernate以UTC时区存储日期/时间和时间戳我想将我的应用程序默认时区设置为UTC.我的应用程序在Linux服务器上运行tomcat和其他一些应用程序.服务器有其他运行更多应用程序的tomcat实例.

Timezone.setDefault(tz)会影响同一个tomcat实例上的其他应用吗?

它会影响其他tomcat实例上的其他应用程序吗?

是否可以仅为应用设置时区?我松散地记得有关安全管理器设置的一些内容.

jta*_*orn 16

java中的默认时区设置有点棘手.默认情况下,如果设置默认时区,则会影响整个jvm.但是,如果您使用的是SecurityManager,并且当前的安全上下文不允许设置默认值,则TimeZone.setDefault()方法将改为设置线程本地值(因此在同一线程上运行的任何其他代码都会看到此值为默认值,但jvm的其余部分不受影响).我不认为有一种方法可以为您的"应用程序"设置默认值,除非您可以将应用程序缩小到特定的线程集合(极不可能).


ms-*_*-tg 5

使用 java 选项启动应用程序服务器是否-Duser.timezone=GMT适合您?