2016-12-23 15 views
0

Я использую встроенный tomcat через maven-tomcat-plugin. В версии 6 этого плагина, если я делаю mvn tomcat6:run, сервер запускается, и contextInitialized методы выполняются ПЕРЕД соединитель пытается открыть порт.Перезапуск встроенного tomcat

Никаких изменений в коде, но когда я начинаю с mvn tomcat7:run сервер открывает порты и ТОГДА пытается начать contextInitialized методы.

Почему?

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

ответ

1

В ТС6 у нас была проблема, что contextInitialized -methode требует информации о connector, если https и взаимной аутентификации используется и какие пользователи зарегестрирована в tomcat-users.xml.

К сожалению, информация о том, где не доступно при инициализации контекста и запросах, которые связаны до users-list, была загружена (но после контекста-init), где отклонено.

Вот почему мы изменили это в tc7.

По какой-то причине вы используете несколько кошек (idc), и решение должно быть лучше на более высоком уровне.

Моего предложение: заменить HTTP-соединитель по AJP-разъем на оба котах, используя различные порты, установить HTTPD Apache и переключить на перезарядке котов HTTPd-конфигурации.

AJP details.

+0

А, спасибо за объяснение, это имеет смысл. У вас есть хорошее предложение об обходном пути для проблемы, с которой я столкнулся (один сервер должен быть доступен только после того, как все будет правильно инициализировано)? – dsky

 Смежные вопросы

  • Нет связанных вопросов^_^