Есть ли что-то, что ведет себя как .wait () и .notify () в среде EJB?

Я знаю, что не должен возиться с потоками в контейнерах EJB, поэтому я не знаю, как правильно выполнять следующие действия в среде EJB. way:

Участвуют :

  • Сессионный компонент без сохранения состояния «Клиент»
  • Сессионный компонент без сохранения состояния «Сервер»
  • MessageQueue «Очередь»
  • Управляемый сообщениями компонент «Mdb», который обрабатывает сообщения от « Очередь "
  • n Сессионные компоненты без сохранения состояния с W1 по Wn

Сценарий :

Клиент вызывает метод сервера , который, в свою очередь, отправляет несколько сообщений на Очередь . После этого Сервер выполняет некоторые другие действия. Тем временем Mdb потребляет сообщение, вызывает Wi , который выполняет довольно длительные вычисления и получает результат. Теперь Mdb передает результат на Сервер . Когда Сервер получил все «результаты» для каждого отправленного сообщения, он выполняет еще несколько вычислений с результатами из W s и возвращает этот результат клиенту ].

Моя проблема :

В Java SE я бы просто сделал .wait (), чтобы Сервер ожидал результатов W s, после ] Сервер выполнил работу после отправки сообщений. Тогда mdb будет.notify (), когда он установил результаты. Поскольку я не должен возиться с потоками в контейнерах EJB, как указано в спецификации, я заблудился, потому что не нашел подходящего способа добиться такого же поведения в среде EJB.

Любая помощь по этой проблеме будет принята с благодарностью, заранее спасибо.

P.S .: Я работаю с JBoss 5.1.0, на случай, если есть какие-либо специфические для поставщика меры для решения этой проблемы.

6
задан Daniel 1 February 2012 в 18:12
поделиться