Файл WAR автоматической распаковки Tomcat изменил время последнего изменения файлов - PullRequest
1 голос
/ 28 сентября 2011

У меня возникла проблема при попытке развернуть файл WAR в tomcat.Во время процесса автоматической распаковки из tomcat дата последнего изменения распакованных файлов была изменена.Дата распаковки веб-приложения.файлы стали на 12 часов быстрее, и это приводит к нескольким различным ошибкам.

Я пытался распаковать вручную через jar -xvf, дата последнего изменения файлов остается неизменной.Я также тестировал в локальном tomcat (в том же часовом поясе с dev. Env.), Ничего не изменилось в дате последнего изменения.

Кажется, проблема с часовым поясом tomcat, настройки на tomcat я могу сделать, чтобы решить эту проблему?Большое спасибо за любую помощь.

Среда: Tomcat 6 в Linux, с часовым поясом GMT-4, установленным на сервере, и tomcat файл WAR, созданный машиной с установленным часовым поясом GMT + 8

1 Ответ

1 голос
/ 19 сентября 2015

В моем случае приложение устанавливало часовой пояс по умолчанию из Tomcat во время инициализации приложения. Разница, вызванная изменением часовых поясов, соответствовала смещению во времени модификации файла.

Я был удивлен, что любой код в приложении мог выполняться до распаковки, но контейнер Tomcat дает приложению возможность запустить код инициализации до распаковки всех файлов.

Найдите вхождение TimeZone.setDefault() и попробуйте удалить вызов или переместить вызов позже в последовательности инициализации.

Полезные подсказки:

Этот JSP сообщил мне, что приложение всегда работало с определенным часовым поясом независимо от настроек среды:

<html> 
<body> 
<h2>Current Timezone</h2> 
<%    java.util.Date date = new java.util.Date();       
      java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("zzz"); %> 
<%=sdf.format(date)%> 
</body> 
</html>

В файлах журнала я мог видеть момент изменения часового пояса (четырехчасовой скачок). Это происходит во время загрузки приложения.

Примечание. После установки часовой пояс будет оставаться установленным до перезапуска Tomcat.

Sep 18, 2015 2:34:26 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8443
Sep 18, 2015 2:34:26 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 285 ms
Sep 18, 2015 2:34:26 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Sep 18, 2015 2:34:26 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.24
Sep 18, 2015 2:34:26 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive myWebapp.war
Sep 18, 2015 6:34:30 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
Sep 18, 2015 6:34:34 PM org.apache.catalina.core.ApplicationContext log
INFO: org.tuckey.web.filters.urlrewrite.UrlRewriteFilter INFO: loaded (conf ok)
Sep 18, 2015 6:34:34 PM org.apache.catalina.core.ApplicationContext log
INFO: struts: []: Verifying ModuleConfig for this module
Sep 18, 2015 6:34:34 PM org.apache.catalina.core.ApplicationContext log
INFO: struts: []: Verification of ModuleConfig has been completed
Sep 18, 2015 6:34:34 PM org.apache.catalina.core.ApplicationContext log
INFO: struts: []: Verifying ModuleConfig for this module
...