Руководители работ по параллельной обработке EJB

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

После нахождения предыдущих постов на эту тему, я думаю, что использование Work Manager может быть жизнеспособной альтернативой для моей среды, но после прочтения документации у меня останется пара вопросов, я был бы очень благодарен, если бы кто-то с большим опытом работы с Work Менеджеры могут пролить свет на это:

  1. Можно ли реализовать Work интерфейс в EJB, таким образом, что когда run() метод вызывается, он может вызвать один из транзакционных методов этого EJB? Я заинтересован в асинхронном и одновременном вызове нескольких EJB-компонентов, каждый из которых представляет отдельную единицу работы, но я не знаю, распространит ли Work Manager требуемый контекст выполнения на мои EJB-компоненты.
  2. Если я настраиваю глобальный Work Manager, когда я его использую, он автоматически распределяет рабочую нагрузку по всем узлам в моем кластере? или все отправленные ему работы будут выполняться в одном и том же узле кластера, хотя и в разных потоках? - если это так, как я могу распараллелить свою рабочую нагрузку таким образом, чтобы все узлы в моем кластере получили свою долю работы?

Кроме того, было бы замечательно, если бы кто-то мог предложить другую альтернативу (вместо использования менеджеров по работе), при условии соблюдения требований, изложенных в первом абзаце этого вопроса.

0 ответов

Другие вопросы по тегам