2013-09-10 3 views
1

Я работаю над веб-приложениями. Сервер: Tomcat Технология: Простой Jsp/Servlet/JQueryперезагрузка сервера уведомлять клиентов

Мне нужно перезагрузить свой сервер, когда появятся новые обновления. И эти изменения часты почти каждые 1 или 2 дня. Я думаю, чтобы создать какой-то механизм, как я могу сказать каждому зарегистрированному пользователю, чтобы сохранить изменения, и сервер запустится через несколько минут. (Таймер будет там). Всплывающее окно должно быть открытым, хотя пользователь идеален.

Is there any direct way to do this so? Or I need to implement ajax call on every few seconds to server on every jsp page to check if any message is there on server???

Любая идея будет оценена. Спасибо заранее.

ответ

2

Для подхода, который вы принимаете, я предлагаю вам использовать Async Serlvets (Req. Min Servlet API 3.0) или технологию комет Apache Tomcat (вид асинхронного сервлета).

Вы будете делать ajax-вызов на каждой странице, когда он (страница) загружает (ajax onload(), например, в Async Servlet, и будет простаивать до тех пор, пока не появится ответ от сервера. Этот сервлет Async должен отправлять уведомление о перезагрузке сервера всем подключенным клиентам - всякий раз, когда вы запускаете уведомление вручную. Как только клиент ajax получит уведомление, он отобразит предупреждение (или дружественное пользователю сообщение).

Это устранит необходимость сделать ненужный опрос на сервер после фиксированного внутреннего - большой плюс ресурса.

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

Если вы из Индии - вы должны знать о веб-сайте IRCTC - что недоступно для бронирования поездов каждую ночь в течение 1 часа.

+0

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

+0

@ Ашай это хорошая идея. Спасибо за ваш ответ и идею. Я также думаю о DWR (DirectWebRemoting). http://directwebremoting.org – Ketan

+0

@DariusX. на самом деле у меня нет никакого контроля над этим. Вскоре мне нужно будет внести необходимые изменения, основанные на быстрых требованиях. Также, создав два сервера (ведущий и ведомый), мне потребуется больше обслуживания, поскольку я работаю над файлом на основе базы данных. Кроме того, у нас есть и другая идея, чтобы показывать другие уведомления (трансляции) пользователям. Все еще спасибо за ваши входы. – Ketan

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