Передача переменной из запущенного процесса в другой процесс (на открытом воздухе - activiti)

Приветствую сообщество, я использую Alfresco 6.0.0 (Community Edition), и мне интересно, будет ли реализован следующий сценарий.

Шаг 1

Запустите процесс через консоль рабочего процесса на открытом воздухе с помощью definition = 'process1'

Шаг 2

Запустите второй процесс через консоль рабочего процесса на открытом воздухе с помощью definition = 'process2'

Интересно, смогу ли я каким-то образом "взаимодействовать" с process1 из process2

(например, обновить переменную, которая существует в процессе1 из процесса2)

Если описанный выше сценарий возможен, я бы предпочел сделать это либо внутри файла .bpmn моего process2, либо, возможно, с помощью serviceTask, расширяющего настраиваемый JavaDelegate < / strong> метод.

Любая помощь будет принята с благодарностью, спасибо :)


person NickAth    schedule 22.11.2018    source источник


Ответы (1)


В идеале экземпляры процесса должны быть изолированы. но для вашего случая вы можете создать JAVA Bean (singleton), который содержит значения и внедрять этот bean везде, где это необходимо. просто убедитесь, что он инициализируется в контексте движка. обновить bean-компонент одним процессом и использовать значения экземпляра bean-компонента, используя выражение activiti, т.е. ${myBean.getVaue("yourVariable")}

ваше определение bean-компонента должно выглядеть так -

@Component("myBean")
public class MyBean {

    // your variables

    public Object getVaue(String variableName) {
        // return your variable value
    }
}

Примечание: сохраняйте ваши переменные потокобезопасными

person Abbas Kararawala    schedule 03.02.2019