Я хотел бы сообщить всем вошедшим в систему пользователям, что сервер отключится.Этот особый интерес был бы хорош в приложении ajaxfy (RIA).Каковы возможные решения?Каковы наилучшие практические решения?
Было два возможных конечных сценария:
- Отправьте текст $ x на сервер ergo всем пользователям.(«Сервер не будет доступен в течение нескольких минут.»)
- Отправьте на сервер ключ $ y, который будет использоваться для создания (пользовательского) текста для всех пользователей.("SERVER_SHUTDOWN")
Среда: Tomcat (6/7), Spring 3+. Обмен сообщениями с пользователями: с опросом или псевдоотдачей через асинхронный сервлет.
Идеи
1.Context.destroy (): Реализация пользовательского уничтожения ContextListener
Я не думаю, что это хорошее решение - блокировать внутри блокировки "destroy ()", потому что мы должны ждать около 5-10 секунд, чтобы убедиться, что все вошедшие пользователи получают сообщение.
2.JMX Beans
Это будет означать, что любая операция службы сервера (запуск, остановка) должна вызывать специальную программу, которая отправляет сообщение.
3.Любые другие очереди сообщений, такие как AMQP или ActiveMQ
Как 2.