Передать переменную из запущенного процесса в другой процесс (alfresco - activiti) - PullRequest
0 голосов
/ 22 ноября 2018

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

Шаг 1

Запустите процесс через консоль рабочего процесса alfresco с definition = 'process1'

Шаг 2

Запустите второй процесс через рабочий процесс alfrescoконсоль с definition = 'process2'

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

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

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

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

1 Ответ

0 голосов
/ 03 февраля 2019

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

ваше определение bean-компонента должно выглядеть следующим образом -

@Component("myBean")
public class MyBean {

    // your variables

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

Примечание.*

...