startProcessInstanceByKey не работает в пакете действий (активность на открытом воздухе)

Я перешел с Activiti Explorer (версия для сообщества) на Activiti Enterprise на открытом воздухе. Все прошло нормально, но теперь, когда процесс запускает новый TTSProcess со следующим кодом:

runtimeService.startProcessInstanceByKey("TTSProcess", variables);

Я получаю следующую ошибку: org.activiti.engine.ActivitiObjectNotFoundException: нет процессов, развернутых с ключом «TTSProcess».

Это работает в экземпляре Activiti Explorer... но не в корпоративном пакете Alfresco activiti.

Я переименовал свои процессы из bpmn20.xml в bpmn, но безуспешно.

Пожалуйста, помогите мне,

Спасибо


Точные шаги, которые я сделал:

Я создал приложение (в пользовательском интерфейсе activiti-app) с нужными мне процессами. После этого я опубликовал приложение. Я вижу, что мое приложение развернуто (в пользовательском интерфейсе activiti-admin), и мой первый процесс начинает работать. Экземпляр второго процесса «TTSProcess», который я хочу запустить, развернут (см. снимок экрана). Я загрузил 2 снимка экрана, чтобы показать его.

http://imgur.com/1lvfmv9

http://imgur.com/ZUObLYT

Движок activiti по-прежнему не хочет запускать мой TTSProcess по ключу...

Примечание. Я использую базу данных H2.

Также важно: startProcessInstanceByID работает


person RobinHo    schedule 19.02.2016    source источник
comment
Вы перешли на автономный Activiti Enterprise или на Alfresco Enterprise, в который встроен механизм Activiti?   -  person Younes Regaieg    schedule 19.02.2016
comment
Alfresco корпоративная деятельность   -  person RobinHo    schedule 19.02.2016
comment
Вы клонировали свою предыдущую среду, а затем обновили ее до Enterprise или просто перенесли элементы конфигурации и расширения без фактической существующей БД?   -  person Younes Regaieg    schedule 19.02.2016
comment
Я сделал второй вариант! кстати: startProcessInstanceByID работает, но мне действительно нужно, чтобы он работал по ключу   -  person RobinHo    schedule 19.02.2016
comment
Есть ли способ, которым вы могли бы повредить кеши? Я просто проверял код активности, и, к сожалению, это было бы единственным разумным объяснением, насколько я могу предположить!   -  person Younes Regaieg    schedule 19.02.2016


Ответы (3)


Если вы уверены, что ваш движок alfresco activiti указывает на ту же БД, что и движок Activiti Explorer, то это может быть проблемой в развернутом вами процессе. Откройте файл и дважды проверьте определение процесса:

<process id="TTSProcess" name="TTS Process name" isExecutable="true">
...
</process>

Важным атрибутом является id="TTSProcess", который активити использует в качестве ключа в API.

runtimeService.startProcessInstanceByKey("TTSProcess", variables);

person E_d    schedule 24.02.2016
comment
Это как-то связано с используемой мной базой данных H2? - person RobinHo; 29.02.2016

Я знаю, что мой вопрос будет слишком простым, но мы должны быть уверены в очевидном. Вы проверили свой путь в своем репо? Например, вы должны написать,

repositoryService.createDeployment()
        .addClasspathResource("diagrams/FinancialReportProcess.bpmn20.xml")
        .deploy();

Если ваши каталоги:

src/main/resources/diagrams/FinancialReportProcess.bpmn20.xml

Вы должны добавить пакет, который включает ваш процесс.

Наконец, вы должны снова переименовать свой процесс .bmpn20.xml.

person El_Gavlador    schedule 18.05.2016

Вам нужно добавить tenant_id при вызове startProcessInstanceByKey, чтобы он заработал. API имеет перегрузку startProcessInstanceByKey, в которую можно добавить tenant_id

person RobinHo    schedule 23.05.2016