Можете ли вы программно перезапустить приложение j2ee? - PullRequest
5 голосов
/ 05 сентября 2008

Кто-нибудь знает, возможно ли перезапустить приложение J2EE (из приложения)? Если да, то как?

Я бы хотел сделать это независимо от приложения-сервера, если это возможно.

Приложение будет работать на многих серверах приложений - в основном независимо от предпочтений клиента.

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

Ответы [ 3 ]

6 голосов
/ 05 сентября 2008

Я бы предположил, что вы вряд ли найдете способ независимого от сервера приложений. И хотя я не претендую на то, что знаю ваши требования, я мог бы поставить под сомнение конструкцию, которая требует, чтобы приложение перезапускало себя, кроме установщика, который развертывает новую версию. Наконец, я бы предположил, что для любых нетривиальных целей «любой» сервер приложений не будет работать. У вас должен быть список поддерживаемых серверов приложений и версий, документированных в примечаниях к выпуску, чтобы вы могли протестировать все из них и не беспокоиться о поддержке клиентов на несоответствующем сервере / версии. Исходя из опыта, всегда есть тонкие различия, например, между Apache Tomcat и BEA WebLogic, и эти различия часто недокументированы и их трудно определить, пока вы не столкнетесь с ними.

3 голосов
/ 05 сентября 2008

Большинство серверов приложений предоставляют интерфейс JMX, так что вы можете вызвать его.

2 голосов
/ 06 сентября 2008

Я бы предложил использовать servicewrapper для управления сервером приложений, а затем использовать его методы api для запроса перезапуска службы. Потребуется некоторая конфигурация, и будет трудно понять, сработает ли она в вашей конкретной среде, но это единственное известное мне решение, которое даже разумно совместимо с несколькими серверами.

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