Получить список возможных потоков выполнения, например, задачу пользователя или шлюз в Activiti?

Я новичок в Activiti и пытаюсь интегрировать его с веб-приложением. Я просматривал API и БД, чтобы выяснить, есть ли способ получить список возможных потоков от шлюза или задачи (скажем, которая была связана с каким-то граничным событием)? Другими словами, какие все пути возможны от данной задачи, а также условия, которые необходимо выполнить, чтобы выбрать этот возможный путь?

Я пытался найти этот вопрос на форуме/в Google, но не смог найти нужную тему. В случае, если на него уже был дан ответ, не могли бы вы указать мне источник.

заранее спасибо

Химаншу


person Himanshu Dewan    schedule 27.09.2014    source источник
comment
При использовании camunda это должно быть возможно с API модели bpmn: github.com/camunda/camunda-bpmn- модель. Я просто не могу сказать, работаете ли вы с activiti или camunda на основе вашего текста/тегов.   -  person Jan Galinski    schedule 28.09.2014
comment
@JanGalinski: я работаю с Activiti. Сейчас отредактировал теги. Не могли бы вы посоветовать мне, как это сделать в Activiti? Покопавшись в Интернете, я нашел несколько ссылок на pvm. Но я не слишком хорошо знаком с этим или с тем, как его использовать здесь (также не смог найти хороших источников в Интернете)   -  person Himanshu Dewan    schedule 29.09.2014
comment
Извините, я переключился на camunda, когда они разветвили Activiti, а API-интерфейс модели bpmn специфичен для camunda.   -  person Jan Galinski    schedule 30.09.2014
comment
@janGalinski: Не беспокойтесь. Надеюсь, кто-то еще выступит :) Не могли бы вы указать мне несколько хороших источников для чтения о PVM и о том, насколько они важны для движка BPMN, такого как Activiti, Camunda?   -  person Himanshu Dewan    schedule 30.09.2014


Ответы (1)


Я не уверен, правильно ли я понял ваш вопрос. Но я использовал следующий фрагмент, и он работает для меня

       UserTask taskNode = null;
        if(node instanceof UserTask)
        {
            taskNode = (UserTask)node;
        }
        if(taskNode != null)
        {

                List<SequenceFlow> sequenceFlows = taskNode.getOutgoingFlows();
                for(SequenceFlow sequenceFlow : sequenceFlows)
                {
                    System.out.println(sequenceFlow.getName()+" "+sequenceFlow.getConditionExpression());
                }
        }
person user2017810    schedule 17.08.2016
comment
Ты только что спас мой день, чувак! :D - person Miere; 01.03.2018