Camunda развернуть Делегат с глобальной видимостью - PullRequest
0 голосов
/ 13 мая 2019

Я работаю над проектом Camunda BPM, и моя цель - создать проект java (.jar или .war), который содержит несколько Delegates для вызова из различных процессов.

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

Чтобы достичь этого, я думаю, что мне может потребоваться каким-то образом подключить проект к движку camunda, но я не уверен, каким образом, я попытался загрузить проект в папку modules и добавить module.xml файл без успеха.

Вот ошибка, которую я получаю:

Невозможно создать экземпляр определения процесса Test__1: 1: e038081e-7335-11e9-81d2-acd1b8773d2f: ENGINE-09008 Исключительная ситуация при создании экземпляра класса 'com.foo.sharedModule.MyDelegate': ENGINE-09017 Невозможно загрузить класс 'com.foo.shared .MyDelegate ': com.foo.sharedModule.MyDelegate из [Модуль "deploy.camunda-webapp-ee-jboss-7.10.5-ee.war" из загрузчика сервисных модулей]

Может кто-нибудь помочь мне сообразить, как это сделать, пожалуйста? Спасибо.

Ответы [ 2 ]

0 голосов
/ 15 мая 2019

Если вы работаете с Wildfly или JBoss, и кажется , что вы упомянули модули, то вы на правильном пути.

Если вам нужна Javaклассы, которые должны быть универсально доступны на сервере приложений, включая любые новые приложения (файлы * .war или * .ear), которые вы развертываете - возможно, с помощью процессов, решений Camunda и т. д. - или развертывания Camunda, которые вы загружаете через API RESTвы захотите упаковать их в виде файлов JAR и добавить их в виде модулей.Вам нужно будет убедиться, что вы добавили правильные зависимости модуля.

Учитывая сложность, связанную с Wildfly / JBoss в этом отношении, может помочь просто заявить, что все, что вам нужно будет сделать, если вы используете Tomcatбыло бы упаковать классы в файл JAR и поместить их в общий каталог lib Tomcat.Дополнительная сложность за счет этого является просто результатом дизайна Wildfly / JBoss, а не чем-то связанным с самой Камундой.Затем вы можете использовать их в любой модели процесса, определении решения (DMN) или случае в вашем экземпляре Camunda.

Надеюсь, это поможет!

0 голосов
/ 14 мая 2019

Взгляните на шаблоны для модели Camunda .

Они позволяют расширять моделировщик, чтобы пользователи могли выбирать предопределенные сервисные компоненты. Вам нужно будет просто включить банку в ваше приложение процесса.

  {
   "name": "Mail Task",
   "id": "com.camunda.example.MailTask",
   "appliesTo": [
     "bpmn:ServiceTask"
    ],
   "properties": [
    {
     "label": "Implementation Type",
     "type": "String",
     "value": "com.mycompany.MailTaskImpl",
     "editable": false,
     "binding": {
       "type": "property",
       "name": "camunda:javaDelegate"
     }
   },
  ...
...