Остановить / отключить определенный веб-сервис под Apache - PullRequest
0 голосов
/ 21 июля 2011

У меня работает jBoss в Linux, на котором работает веб-служба Java SOAP. Я обычно не имею дело ни с одним из них на ежедневной основе, поэтому не могу дать много подробностей. Веб-сервис - это пульс для другой части системы. Учитывая дизайн системы (который, как мы надеемся, скоро будет изменен), мы не можем вывести сервер из ротации для его исправления. Что мне интересно, есть ли конкретный способ отключить только веб-службу, запускающую сердцебиение, и в то же время разрешить другим веб-функциям продолжить работу?

Ответы [ 3 ]

2 голосов
/ 22 июля 2011

Похоже, вы не можете прикоснуться к WAR, и нет простого способа остановить один сервис в WAR без его развертывания или изменения кода. Это немного в темноте, но, возможно, вам удастся отдельно развернуть Tomcat Valve на уровне контейнера, который перехватывает http-запросы, привязанные (то есть соответствующие URI) к веб-службе heartbeat. Если вы хотите снова включить сердцебиение, вы снимаете клапан.

Это не останавливает сердцебиение, но вы можете помешать ему получать запросы.

0 голосов
/ 22 июля 2011

Если на передней панели есть какой-либо балансировщик нагрузки, вы можете временно заблокировать запросы на этом уровне. Или, если возможны незначительные изменения кода, вы можете ввести новое свойство в properties-service.xml (BLACKOUT_PERIOD_ACTIVE или что-то в этом роде), и ваш веб-сервис проверит его, прежде чем ответить. Если период затемнения активен, вы можете подключить логику соответственно.

0 голосов
/ 21 июля 2011

Если он живет в своем собственном .war, удалите .war из $tomcat_home/webapps - служба выйдет из строя (а остальные останутся).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...