2017-01-03 6 views
2

Наше приложение работает на WLP 16.0.0.2. Позднее мы видели, что приложение перезагружается, как только код, который использует Apache FOP 2.1, завершает выполнение. Ожидается, что код сгенерирует PDF-файл, который будет успешным. Мы не видим дампа памяти или каких-либо других ошибок, исключений в журналах. Тот же кусок кода, который использовался для работы отлично, когда приложение, используемое для запуска на Tomcat 8. Попытка выполнить регулярные настройки кучи и настройки PermGen не помогла.Приложение загадочно запускается на Websphere Liberty Profile

+0

Что-то в вашем приложении записывает вывод в расширенный каталог приложений? Попробуйте установить '', чтобы увидеть, все ли перезапускаются. Обратите внимание, что отключение updateTrigger предотвратит запуск любых приложений dropin и предотвратит возможность WDT совершать автоматические обновления при разработке приложения. –

+0

Вы ангел, Энди! Этот параметр работает как шарм. Теперь я понимаю, что файл в расширенном каталоге приложения изменяется во время выполнения вышеуказанного кода. Отключение монитора приложения - именно то, что мне нужно. –

+0

Энди, пожалуйста, поместите свое предложение в качестве ответа, чтобы я мог его принять. –

ответ

4

перезапуске приложения может быть вызван 2 вещами в Либерти:

  1. Изменение конфигурации производится в server.xml, что подающего перезапуск приложения
  2. <applicationMonitor/> элемента находит изменения приложения, когда он опрашивает обновление или когда монитор приложения MBean получает запрос на обновление.

Что, вероятно, происходит в вашем случае, это сценарий №2. Вероятно, что-то в вашем приложении, которое записывает вывод в расширенный каталог приложения, а настройка монитора приложения по умолчанию (опрос на обновления каждые 500 мс) подбирает этот вывод в качестве изменения приложения и, таким образом, запускает перезапуск.

Так у вас есть два варианта, чтобы исправить это:

  1. (рекомендуется) Измените приложение, чтобы написать выход где-то помимо расширенного каталога приложения
  2. Отключить мониторинг приложений, помещая это в server.xml:
    <applicationMonitor updateTrigger="mbean"/>
    ПРИМЕЧАНИЕ. Настройка контроля приложений на mbean приведет к тому, что приложения для отбрасывания не начнутся, если только вы не работаете в WDT.
+0

Я полагаю, что 'updateTrigger =" mbean "' все равно позволит WDT работать? –

+1

Хорошая точка Бретт, 'mbean' будет более гибкой, чем полностью отключить мониторинг. Я обновлю свой ответ –