2017-02-18 12 views
3

Похоже, что с тех пор, как мы обновили tomcat до версии 8+, мы получим перезагрузку контекста при запуске. Однако это происходит только в наших средах разработки (ОС Windows с eclipse и tomcat 8.5). У нашей производственной среды (linux OS с tomcat 8.5) нет этой проблемы. Ill опубликуйте его ниже, но я не вижу никаких признаков того, почему это происходит из журналов tomcat. Я знаю, что это обычно поведение с чем-то в каталоге веб-приложений, но для жизни я не могу понять, что это делает. Должен быть какой-то способ отследить его.Почему контекст перезагрузки Tomcat 8.5

Это первый кусок бревна он полностью начиная

18 февраля 2017 9:53:41 AM org.apache.tomcat.util.digester.SetPropertiesRule начинают ПРЕДУПРЕЖДЕНИЕ: [SetPropertiesRule] {Server/Сервис/Двигатель/Хост/Контекст} Установка свойства 'source' в 'org.eclipse.jst.jee.server: Stackoverflow-commproxy' не нашел свойство соответствия. 18 февраля 2017 г. 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: версия сервера: Apache Tomcat/8.5.11 18 февраля 2017 9:53:41 org.apache.catalina. startup.VersionLoggerListener log INFO: Сервер построен: 10 января 2017 21:02:52 UTC 18 февраля 2017 г. 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: Номер сервера: 8.5.11.0 18 февраля 2017 г. 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: Название ОС: Windows 10 18 февраля 2017 г. 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: OS Версия: 10.0 18 февраля 2017 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: Архитектура: amd64 18 февраля 2017 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: Java Главная: C: \ Program Files \ Java \ jdk1.8.0_91 \ jre 18 февраля , 2017 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Версия: 1.8.0_91-b14 18 февраля 2017 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: JVM Vendor: Oracle Corporation 18 февраля 2017 г. 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_BASE: C: \ CodeRepos \ work \ EclipseWorkspace.metadata.plugins \ org.eclipse .wst.server.core \ tmp0 18 февраля 2017 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: CATALINA_HOME: C: \ tomcat \ apache-tomcat-8.5.11 18 февраля 2017 г. 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: аргумент командной строки: -Dcatalina.base = C: \ CodeRepos \ work \ EclipseWorkspace.metadata.plugins \ org.eclipse.wst.server.core \ tmp0 18 февраля 2017 г. 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: Командная строка аргумент: -Dcatalina.home = C: \ tomcat \ apache-tomcat-8.5.11 18 февраля 2017 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: Аргумент командной строки: -Dwtp. deploy = C: \ CodeRepos \ work \ EclipseWorkspace.metadata.plugins \ org.eclipse.wst.server.core \ tmp0 \ wtpwebapps 18 февраля 2017 г. 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: аргумент командной строки: -Djava.endorsed.dirs = C: \ tomcat \ apache-tomcat-8.5.11 \ endorsed 18 февраля 2017 г. 9:53:41 org.apache.catalina.startup.VersionLoggerListener log INFO: аргумент командной строки: - Dfile.encoding = Cp1252 18 февраля 2017 г. 9:53:41 org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFO: Основанная на APR Apache Tomcat Нативная библиотека, которая обеспечивает оптимальную производительность в производственных средах, не найдена на java. library.path: C: \ Program Files \ Java \ jdk1.8.0_91 \ bin; C: \ WINDOWS \ Sun \ Java \ bin; C: \ WINDOWS \ system32; C: \ WINDOWS; C:/Program Files/Java/jre1.8.0_121/bin/server; C:/Program Files/Java/jre1.8.0_121/bin; C:/Program Files/Java/jre1.8.0_121/lib/amd64; C: \ ProgramData \ Oracle \ Java \ javapath; C: \ Python27 \; C: \ Python27 \ Scripts; C: \ Program Files (x86) \ Intel \ iCLS Client \; C: \ Program Files \ Intel \ iCLS Client \; C: \ Windows \ system32; C: \ Windows; C: \ Windows \ System32 \ Wbem; C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files \ Intel \ Intel (R) Компоненты управления движком \ DAL; C: \ Program Files (x86) \ Intel \ Intel (R) Компоненты управления движками \ DAL , C: \ Program Files \ Intel \ Intel (R) Компоненты управления движками \ IPT; C: \ Program Files (x86) \ Intel \ Intel (R) компоненты Engine Engine \ IPT; C: \ Program Files (x86) \ GtkSharp \ 2.12 \ bin; C: \ Users \ dever.dnx \ bin; C: \ Program Files \ Microsoft DNX \ Dnvm \; C: \ Program Files \ Microsoft SQL Server \ 120 \ Tools \ Binn \; C: \ Program Files (x86) \ Windows Kits \ 10 \ Windows Performance Toolkit \; c: \ Program Files (x86) \ Microsoft SQL Server \ 110 \ Tools \ Binn \ Manag ementStudio \; c: \ Program Files (x86) \ Microsoft SQL Server \ 110 \ Tools \ Binn \; c: \ Program Files \ Microsoft SQL Server \ 110 \ Tools \ Binn \; c: \ Program Files (x86) \ Microsoft SQL Server \ 110 \ DTS \ Binn \; C: \ Program Files (x86) \ NVIDIA Corporation \ PhysX \ Common; C: \ Program Files (x86) \ Windows Live \ Shared; C: \ WINDOWS \ system32 \ config \ systemprofile .dnx \ bin; C: \ Program Files \ Microsoft SQL Server \ 130 \ Tools \ Binn \; C: \ WINDOWS \ system32; C: \ WINDOWS; C: \ WINDOWS \ System32 \ Wbem; C: \ WINDOWS \ System32 \ WindowsPowerShell \ v1.0 \; C: \ Program Files (x86) \ Microsoft Emulator Manager \ 1.0 \; C: \ Program Files \ Git \ cmd; C: \ Program Files \ nodejs \; C: \ Program Files \ Emscripten \ emscripten \ 1.35.0; C: \ Program Files \ Emscripten; C: \ Program Files \ Emscripten \ clang \ e1.35.0_64bit; C: \ Program Files \ Emscripten \ node \ 0.12.2_64bit; C: \ Program Files \ Emscripten \ python \ 2.7.5.3_64bit; C: \ Program Files \ Emscripten \ java \ 7.45_64bit \ bin; C: \ Program Files \ Emscripten \ crunch \ 1.03; C: \ Program Files \ Emscripten \ mingw \ 4.6.2_32bit; C : \ Program Files \ TortoiseSVN \ bin; C: \ JavaProgramFiles \ jdk1. 8.0_91 \ bin; C: \ Ruby193 \ bin; C: \ program files \ apache-maven-3.3.9 \ bin; c: \ Program Files \ MongoDB \ Server \ 3.2 \ bin; C: \ JavaProgramFiles \ apache-ant -1.9.7 \ Bin; C: \ JavaProgramFiles \ XMLBeans-1.0.3 \ Bin; C: \ Users \ Девер \ AppData \ Local \ Microsoft \ WindowsApps; C: \ Users \ Девер \ AppData \ Roaming \ НПМ; C: \ Program Files \ eclipse \ jee-neon \ eclipse ;;. 18 февраля 2017 г. 9:53:41 org.apache.coyote.AbstractProtocol init INFO: Инициализация протоколаHandler ["http-nio-8080"] 18 февраля 2017 9:53:41 org.apache.tomcat. util.net.NioSelectorPool getSharedSelector INFO: Использование общего селектора для сервлета write/read 18 февраля 2017 г. 9:53:41 org.apache.coyote.AbstractProtocol init INFO: Инициализация протоколаHandler ["ajp-nio-8009" ] 18 февраля 2017 г. 9:53:41 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector INFO: Использование общего селектора для сервлета write/read 18 февраля 2017 г. 9:53:41 org.apache .catalina.startup.Catalina load INFO: Инициализация обработана в 610 мс 18 февраля 2017 г. 9:53:41 org.apac he.catalina.core.StandardService startInternal INFO: Запуск службы Catalina 18 февраля 2017 9:53:41 AM org.apache.catalina.core.StandardEngine startInternal INFO: Запуск Servlet Engine: Apache Tomcat/8.5.11 февраля 18, 2017 9:53:44 AM org.apache.jasper.servlet.TldScanner scanJars INFO: по крайней мере один JAR был отсканирован для TLD, но не содержал TLD. Включите ведение журнала отладки для этого регистратора для полного списка проверенных JAR-файлов, но в них не было обнаружено ни одного TLD. Пропуск ненужных JAR во время сканирования может улучшить время запуска и время компиляции JSP. 18 февраля 2017 г. 9:53:44 org.apache.catalina.core.ApplicationContext log INFO: Нет типов Spring WebApplicationInitializer, обнаруженных на пути к классам 18 февраля 2017 г. 9:53:44 org.apache.catalina.core. Журнал ApplicationContext INFO: инициализация корня Spring WebApplicationContext 2017-02-18 09: 53: 45.755 [localhost-startStop-1] INFO com.stackoverflow.util.common.AppConfigPostProcessor - настройка системного свойства: org.jboss.logging.provider = slf4j 2017-02-18 09: 53: 45.757 [localhost-startStop-1] INFO com.stackoverflow.util.common.AppConfigPostProcessor - Установка часового пояса по умолчанию для: UTC 2017-02-18 09: 53: 47.990 [localhost- startStop-1] INFO com.stackoverflow.util.concurrent.ThreadPoolTaskScheduler - Инициализация ExecutorService 'taskScheduler' 2017-02-18 09: 53: 47.997 [localhost-startStop-1] INFO com.stackoverflow.service.commproxy.LoggingServiceImpl - Служба ведения журнала: успешно завершена 2017-02-18 09:53 : 48.011 [localhost-startStop-1] INFO com.stackoverflow.service.commproxy.DeviceServiceImpl - Служба устройств: инициализация службы устройств Stackoverflow ... 2017-02-18 09: 53: 48.314 [localhost-startStop-1] INFO com .stackoverflow.cache.mapdb.MapDBCacheManager - Открыто хранилище MapDB StackoverflowCommProxyCacheV4. Местоположение файла C: \ Users \ dever \ AppData \ Local \ Temp \ StackoverflowCommProxyCacheV4.DeviceMetaDataCache 2017-02-18 09: 53: 48.314 [localhost-startStop-1] DEBUG com.stackoverflow.service.commproxy.DeviceServiceImpl - Сервис устройств: загрузка локального кэша DeviceMetaData 2017-02-18 09: 53: 48.316 [taskScheduler-1] DEBUG com.stackoverflow.service.commproxy.DeviceServiceImpl - Device Service: запуск задачи обновления пула устройства 18 февраля 2017 г. 17:53:48 org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler [http-nio-8080] 18 февраля 2017 г. 5:53:48 org.apache.coyote.AbstractProtocol start INFO: Запуск протоколаHandler [ajp-nio-8009 ] 18 февраля 2017 г. 5:53:48 org.apache.catalina.startup.Catalina start INFO: запуск сервера в 6928 мс 2017-02-18 09: 53: 49.774 [taskScheduler-1] INFO com.stackoverflow.service.commproxy.DeviceServiceImpl - Служба устройств: получен список метаданных устройства с 15 элементами из облачных служб Stackoverflow 2017-02-18 09: 53: 49.775 [taskScheduler-1] DEBUG com.stackoverflow.service.commproxy.DeviceServiceImpl - Служба устройств: кэш метаданных устройства содержит 15 элементов 2017-02-18 09: 53: 49.806 [taskScheduler-1] INFO com.stackoverflow.service .commproxy.DeviceServiceImpl - Служба устройств: выполняется цикл обновления. Время, затраченное: 1490 мс Feb 18, 2017 5:53:58 PM org.apache.catalina.core.StandardContext перезагружать INFO: перегрузочный контекст с именем [/ StackOverflow-commproxy] начал

Обратите внимание, как там не является ошибкой, и ни одна из операций, которые имели место, не коснулась диска. С небольшим исключением для ведения журнала. Что же в файл журнала, однако с нашими настройками, как это на самом деле не должны касаться каталога веб-приложения:

log4j2.xml

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration monitorInterval="180"> 
    <Properties> 
     <!-- change the path to conference logs below to fit your system --> 
     <Property name="LOG_DIR">C:\CodeRepos\logs\</Property> 

и остальная часть файла журнала:

Фев 18, 2017 5:53:58 вечера org.apache.catalina.core.ApplicationContext log INFO: Закрытие корня Spring WebApplicationContext 2017-02-18 09: 53: 58.514 [ContainerBackgroundProcessor [StandardEngine [Catalina]]] INFO com.stackoverflow .service.commproxy.DeviceServiceImpl - D evice Service: уничтожение службы устройств хранения данных Stackoverflow ... 2017-02-18 09: 53: 58.543 [ContainerBackgroundProcessor [StandardEngine [Catalina]]] INFO com.stackoverflow.cache.mapdb.MapDBCacheManager - закрыто StackoverflowCommProxyCacheV4.DeviceMetaDataCache MapDB store 2017- 02-18 09: 53: 58.545 [ContainerBackgroundProcessor [StandardEngine [Catalina]]] INFO com.stackoverflow.util.concurrent.ThreadPoolTaskScheduler - выключение ExecutorService 'taskScheduler' 18 февраля 2017 г. 5:53:58 org.apache.catalina .loader.WebappClassLoaderBase clearReferencesThreads ПРЕДУПРЕЖДЕНИЕ. Веб-приложение [Stackoverflow-commproxy], похоже, запустило поток с именем [Log4j2-Log4j2Scheduled-1], но не смог его остановить. Вероятно, это приведет к утечке памяти. След трассировки потока: sun.misc.Unsafe.park (родной метод) java.util.concurrent.locks.LockSupport.parkNanos (LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer $ ConditionObject.awaitNanos (AbstractQueuedSynchronizer.Java: 2078) java.util.concurrent.ScheduledThreadPoolExecutor $ DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:1093) java.util.concurrent.ScheduledThreadPoolExecutor $ DelayedWorkQueue.take (ScheduledThreadPoolExecutor.java:809) java.util.concurrent.ThreadPoolExecutor .getTask (ThreadPoolExecutor.java:1067) java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1127) java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:617) java.lang. Thread.run (Thread.java:745) 18 февраля 2017 г. 5:54:00 org.apache.jasper.servlet.TldScanner scanJars INFO: по меньшей мере один JAR был отсканирован для TLD, но не содержал TLD. Включите ведение журнала отладки для этого регистратора для полного списка проверенных JAR-файлов, но в них не было обнаружено ни одного TLD. Пропуск ненужных JAR во время сканирования может улучшить время запуска и время компиляции JSP. 18 февраля 2017 г. 17:54:00 org.apache.catalina.core.ApplicationContext log INFO: Нет типов SpringApplicationInitializer, обнаруженных на пути к классам 18 февраля 2017 г. 5:54:00 org.apache.catalina.core. Журнал ApplicationContext INFO: Инициализация корня Spring WebApplicationContext 2017-02-18 17: 54: 01.637 [ContainerBackgroundProcessor [StandardEngine [Catalina]]] INFO com.stackoverflow.util.common.AppConfigPostProcessor - настройка системного свойства: org.jboss.logging. provider = slf4j 2017-02-18 17: 54: 01.639 [ContainerBackgroundProcessor [StandardEngine [Catalina]]] INFO com.stackoverflow.util.common.AppConfigPostProcessor - Установка часового пояса по умолчанию для: UTC 2017-02-18 17:54: 03.732 [ContainerBackgroundProcessor [StandardEngine [Catalina]]] INFO com.stackoverflow.util.concurrent.ThreadPoolTaskSc heduler - Инициализация ExecutorService 'taskScheduler' 2017-02-18 17: 54: 03.739 [ContainerBackgroundProcessor [StandardEngine [Catalina]]] INFO com.stackoverflow.service.commproxy.LoggingServiceImpl - Служба ведения журнала: успешно завершена 2017-02-18 17 : 54: 03.751 [ContainerBackgroundProcessor [StandardEngine [Catalina]]] INFO com.stackoverflow.service.commproxy.DeviceServiceImpl - Служба устройств: инициализация службы устройств Stackoverflow ... 2017-02-18 17: 54: 04.024 [ContainerBackgroundProcessor [StandardEngine [ Catalina]]] INFO com.stackoverflow.cache.mapdb.MapDBCacheManager - Открыто хранилище MapDB StackoverflowCommProxyCacheV4. Местоположение файла C: \ Users \ dever \ AppData \ Local \ Temp \ StackoverflowCommProxyCacheV4.DeviceMetaDataCache 2017-02-18 17: 54: 04.024 [ContainerBackgroundProcessor [StandardEngine [Catalina]]] DEBUG com.stackoverflow.service.commproxy.DeviceServiceImpl - Устройство Сервис: загрузка локального кэша DeviceMetaData 2017-02-18 17: 54: 04.025 [taskScheduler-1] DEBUG com.stackoverflow.service.commproxy.DeviceServiceImpl - Служба устройств: задача обновления пула устройства 18 февраля 2017 г. 5:54: 04 PM org.apache.catalina.core.StandardContext reload INFO: перезагрузка контекста с именем [/ Stackoverflow-commproxy] завершена 2017-02-18 17: 54: 04.987 [taskScheduler-1] INFO com.stackoverflow.service. commproxy.DeviceServiceImpl - Device Service: получил список метаданных устройства с 15 элементами из облачных сервисов Stackoverflow 2017-02-18 17:54 : 04.987 [taskScheduler-1] DEBUG com.stackoverflow.service.commproxy.DeviceServiceImpl - Служба устройств: кэш метаданных устройства содержит 15 элементов 2017-02-18 17: 54: 05.020 [taskScheduler-1] INFO com.stackoverflow.service. commproxy.DeviceServiceImpl - Служба устройств: выполняется цикл обновления. Время, затраченное: 995

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

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

Не получили ответов, поэтому я просто хотел повторить тот факт, что Im действительно ищет свой следующий шаг в устранении этой проблемы? Некоторые другие журнал смотреть или каким-то образом, чтобы выяснить, что запуская контекстную перезарядку

+0

FYI running tomcat с нашими файлами войны также НЕ производит проблему –

+1

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

+0

Вы должны установить уровень ведения журнала внутренних дел tomcat для ВСЕХ, таким образом вы должны уметь видеть, какой ресурс вызвал перезагрузку. См. Https://tomcat.apache.org/tomcat-8.5-doc/logging.html. – minus

ответ

0

Трудно сказать от текущей информации, так что я могу просто дать только некоторые предложения, чтобы помочь вам:

  • Поверка conf/context.xml, вы можете увидеть, изменились ли ваши просмотренные источники.

<!--Default set of monitored resources. If one of these changes, the --> 
 
<!-- web application will be reload.--> 
 
<WatchedResource>WEB-INF/web.xml</WatchedResource> 
 
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>

  • Вы можете указать тег в context.xml в <Context reloadable="false">, чтобы попытаться остановить эту проблему.
  • Больше регистрации: localhost.date.log, хост-manager.date.log
  • От this thread, он говорит, что, возможно, связанный с Eclipse, и Ši предложили проверить банки в Затмении против банок, используемых в установленном коте :

    Иногда возникают проблемы, когда фляга (в Eclispe) имеет будущую метку времени или загружается после запуска Tomcat, что приводит к тому, что Tomcat перезагружает контекст.

  • Реализуйте ServletContextListener и проверить ServleConextEvent, чтобы найти информацию о предварительном состоянии контекста.

0

Вы можете попробовать следующие настройки:

  1. Откройте конфигурацию сервера из Затмения серверов View
    • , то убедитесь, что в этом Параметры сервера редакторов раздела «Модули автоматической перезагрузки по умолчанию « не отмечен
    • также убедитесь, что в этих редакциях Раздел публикации « Никогда не публиковать автоматически » выбран
  2. Открыть контекстное меню вашего сервера в Eclipse, серверов View
    • выберите «Добавить и Удалить ...»
    • в диалоговом окне убедитесь, что «Если запущен сервер , немедленно опубликуйте изменения: « не установлен и завершен (возможно, вам также придется сначала удалить все веб-страницы и добавить их еще раз на другом этапе)