Я разрабатываю часть приложения Java EE 6, состоящего из компонентов EJB3. Часть требований - многократная параллельная (скажем, несколько сотен) длинная работа (за несколько дней). Отдельные охоты имеют разные параметры поиска (время начала, время окончания, фильтр запросов). Параметры могут меняться со временем.Возможна ли связь между экземплярами EJB3 (межобменная связь Java EE)?
В настоящее время я имею в виду следующее:
SearchController
(Stateless Session Bean) формулирует набор параметров поиска, отправляет его вSearchListener
через JMSSearchListener
(Message Driven Bean) получает параметры поиска, создает значенияSearchWorker
с параметрамиSearchWorker
(SLSB) многократно просматривает базу данных; когда он что-то находит, результат отправляется через JMS, и поиск продолжается; когда данный «конец времени» достиг, он заканчивает
Что мне интересно, прямо сейчас:
- Есть проблема, с экземплярами ejb3 работает в течение нескольких дней? (Кроме того, мне нужно иметь возможность справиться с перезагрузкой контейнера ...)
- Как узнать, сколько и какие экземпляры EJB
SearchWorker
в настоящее время работают? - Возможно ли связываться с ними отдельно (подобно отправке сигнала системы V в процесс unix), например. отправлять новые параметры, заканчивать экземпляр и т. д.