java Timezone setDefault эффекты - PullRequest
       15

java Timezone setDefault эффекты

8 голосов
/ 27 марта 2012

после Как сохранить дату / время и метки времени в часовом поясе UTC с помощью JPA и Hibernate Я хочу установить часовой пояс по умолчанию для своего приложения в UTC. Мое приложение работает на tomcat на сервере Linux вместе с некоторыми другими приложениями. На сервере есть другие экземпляры tomcat, которые запускают еще больше приложений.

Будет ли Timezone.setDefault (tz) влиять на другие приложения в том же экземпляре tomcat?

Повлияет ли это на другие приложения в других экземплярах tomcat?

Можно ли установить часовой пояс только для приложения? Я слабо помню что-то о настройках диспетчера безопасности, чтобы разрешить это.

Ответы [ 2 ]

14 голосов
/ 27 марта 2012

Настройка часового пояса по умолчанию в java довольно шустрая.по умолчанию, если вы установите часовой пояс по умолчанию, это повлияет на весь jvm.однако, если вы работаете с SecurityManager, и текущему контексту безопасности не разрешено устанавливать значение по умолчанию, то метод TimeZone.setDefault () вместо этого установит значение thread local (так что любой другой код, выполняющийсяв том же потоке будет видеть это значение как значение по умолчанию, но остальная часть jvm не будет затронута).я не думаю, что есть способ установить значение по умолчанию только для вашего «приложения», если только вы не можете сузить свое приложение до определенного набора потоков (весьма маловероятно).

3 голосов
/ 04 апреля 2013

Будет ли запуск вашего сервера приложений с параметром Java -Duser.timezone=GMT сделать это для вас?

...