2015-05-11 1 views
-1

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

ответ

1

Общий процессор процессов может использоваться несколькими приложениями, одним из которых является веб-приложение Camunda.
Всякий раз, когда механизм процесса «делает что-то» внутри экземпляра процесса, например, выполняет служебную задачу, он выполняет контекстный коммутатор потока. Этот контекстный коммутатор потока выполняется для приложения, которое развернуло процесс BPMN, который выполняется в данный момент движком. Это необходимо, чтобы механизм процесса мог использовать ресурсы, доступные локально в этом приложении.

Примеры этих видов ресурсов:

  • Загрузчик классов приложения, для того, чтобы создать экземпляр Java Делегаты
  • CDI Bean Менеджер приложения, для того, чтобы иметь возможность ссылаться на CDI Beans.

Как этот «Контекстный коммутатор потока» работает технически?
Механизм процесса выполняет метод обратного вызова на EJB, который должен быть включен в приложение. Вот почему вы включаете camunda-ejb-client.jar. Соответствующая информация: механизм процесса вызывает локальный бизнес-интерфейс этого EJB.
В результате контекстный коммутатор потока выполняется с использованием семантики локального вызова EJB. Независимо от того, что Websphere создает для локального вызова EJB, будет работать, и независимо от того, что Websphere не используется для локального вызова EJB, работать не будет.
Поведение точно такое же, как если бы вы поместили код из ваших делегатов Java в EJB с помощью локального бизнес-интерфейса и вызвали его из другого приложения.

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