Я создал собственный WorkItem с некоторыми параметрами, которые я зарегистрировал в файле WorkDefinitions.wid. Затем в бизнес-процессе я также создаю переменные определения для всего процесса и ссылаюсь на те, что из WD.wid моего пользовательского WorkItem, на те, которые были созданы в BP.Как установить параметр в WorkItem, который будет достигнут в процессе BPMN в jbpm-WorkBench
WorkItem выполняет код, который принимает эти параметры из формы после запуска процесса. Для этого я использую метод getParameter(); Это выглядит следующим образом:
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
String payload = workItem.getParameter("id") + ... ;
...
manager.completeWorkItem(workItem.getId(), null);
}
Все выглядит и работает нормально, причина WorkItem будет успешно выполнена, и я получаю результат (на стороне сервера после выполнения WorkItem в ВР); Но теперь мне нужно получить ответ после выполнения метода POST с введенными параметрами. В коде я создал новую переменную, которая получает параметр из тела ответа, и я могу увидеть результат в консоли IDE, когда я выполняю чистый код (без BPMN-процесса), но мне также нужно зарегистрировать эту переменную в WorkItem для использования это далее для следующей Задачи моего BProcess.
SO Мой вопрос: есть ли что-то похожее на getParameter() - метод, но что-то как setParameter()? Как я могу зарегистрировать его в WorkItem и как я могу получить/получить этот параметр/переменную в BProcess в jbpm (что-то как глобальная переменная, на которую я верю).
спасибо!
Да, я уже пробовал это и сегодня, вместо того, чтобы использовать HashMap вместо null как второй параметр completeWorkItem(), но как я могу достичь этой переменной в BP-модели? Должен ли я записывать имя HashMap-ключа в .wid-файл в свой WorkItem как все остальные параметры?Должен ли я создать новую переменную для этого параметра в переменных Определения всего BProcess, а затем ссылаться на нее в WorkItem-Node в качестве выходного параметра? Не могли бы вы описать этот процесс, потому что после выполнения моего процесса эта переменная все еще пуста. – user3467471
Если вы создаете определение рабочего элемента в KIE Workbench, вы можете увидеть, что он автоматически сгенерирует код с ** переменной Result ** ('java.util.Map') в разделе ** results **. Я считаю, что вы можете получить свои выходные параметры из этого (хотя я и не пробовал). Вам просто нужно сопоставить эту переменную с некоторой переменной процесса, а затем получить доступ к ней позже в некоторой задаче. – livthomas
ведь это ничего не будет автоматически сгенерировано, но с РЕЗУЛЬТАТАМИ это была правильная точка !!! – user3467471