Я пытаюсь определить подход «одобренного» или передового опыта в среде Java EE для выполнения следующих действий: клиент находится на веб-странице и нажимает кнопку.Это запускает поток для мониторинга процесса, то есть активности базы данных, сети и т. Д. Этот процесс будет продолжаться до тех пор, пока пользователь не нажмет кнопку, сообщающую об окончании процесса.Другие клиенты и / или тот же клиент затем нажимают кнопку, чтобы прослушать статус, отправляемый этим процессом, который будет продолжать прослушивание, пока пользователь не нажмет кнопку, чтобы прекратить прослушивание.
Я уже сделал вышеупомянутое, используя WebSocket для связи с сервлетом, который получает внедренный одноэлементный EJB, который расширяет WebSocketApplication.Но этот EJB порождает поток процесса для мониторинга.Хотя он работает и должен продолжать работать, поскольку он является одноэлементным, это не «одобренный» способ сделать это.
Некоторые предложения, которые я рассмотрел, обсуждают использование JMS для порождения потока, но, если я ненеправильное понимание чего-либо, это ничего не решает, так как бин, управляемый сообщениями, также не должен порождать поток.Итак, что такое одобренный / лучший метод для этого?Как запустить и остановить фоновый процесс в среде Java EE?Опять же, требования заключаются в том, что может быть создан только один процесс, он должен взаимодействовать со всеми WebSockets, которые регистрируются в сервлете, он должен быть в состоянии умереть, когда ему сообщают (хотя это не означает, что сервер закрывает сокеты, поскольку он можетначать резервное копирование и все равно будет общаться со всеми ранее зарегистрированными клиентами).
Спасибо.