0

Я разрабатываю часть приложения Java EE 6, состоящего из компонентов EJB3. Часть требований - многократная параллельная (скажем, несколько сотен) длинная работа (за несколько дней). Отдельные охоты имеют разные параметры поиска (время начала, время окончания, фильтр запросов). Параметры могут меняться со временем.Возможна ли связь между экземплярами EJB3 (межобменная связь Java EE)?

В настоящее время я имею в виду следующее:

  • SearchController (Stateless Session Bean) формулирует набор параметров поиска, отправляет его в SearchListener через JMS
  • SearchListener (Message Driven Bean) получает параметры поиска, создает значения SearchWorker с параметрами
  • SearchWorker (SLSB) многократно просматривает базу данных; когда он что-то находит, результат отправляется через JMS, и поиск продолжается; когда данный «конец времени» достиг, он заканчивает

Что мне интересно, прямо сейчас:

  • Есть проблема, с экземплярами ejb3 работает в течение нескольких дней? (Кроме того, мне нужно иметь возможность справиться с перезагрузкой контейнера ...)
  • Как узнать, сколько и какие экземпляры EJB SearchWorker в настоящее время работают?
  • Возможно ли связываться с ними отдельно (подобно отправке сигнала системы V в процесс unix), например. отправлять новые параметры, заканчивать экземпляр и т. д.

ответ

0

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

Нет встроенного механизма для определения того, какие экземпляры bean запущены в методе, поэтому вам нужно будет добавить свой собственный механизм. У вашего продукта может быть какой-то мониторинг производительности, который позволяет вам узнать, сколько из каждого типа компонента в данный момент запущено методом.

Что касается взаимной связи, вам потребуется выполнить собственную синхронизацию и периодически проверять метод bean. Вы выйдете за пределы стандартного EJB, так как каждый параллельный вызов бизнес-методу будет выделять новый SLSB из пула.

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

  • Нет связанных вопросов^_^