Вот кое-что, что я подготовил для разработчиков Java на основе, мне кажется, сообщения в блоге, которое я видел
edit: https://community.alfresco.com/thread/224336-result-variable-in-javadelegate
RESULT VARIABLE
Option (1) - использовать язык выражений (EL) в XML
<serviceTask id="serviceTask"
activiti:expression="#{myService.toUpperCase(myVar)}"
activiti:resultVariable="myVar" />
Java
public class MyService {
public String toUpperCase(String val) {
return val.toUpperCase();
}
}
Возвращенная строка присваивается activiti: resultVariable
НАПРЯМУЮ МОДЕЛЬ ДАННЫХ ПРЯМО
Option (2) - использовать среду выполнения
Java
public class MyService implements JavaDelegate {
public void execute(DelegateExecution execution) throws Exception {
String myVar = (String) execution.getVariable("myVar");
execution.setVariable("myVar", myVar.toUpperCase());
}
}
В отличие от этого, здесь нам передают «выполнение», и мы извлекаем значения изэто и вертит их и возвращает обратно.
Это несколько аналогично сервлету, принимающему значения, которые мы передаем в HTMLRequest, а затем основываемся на том, что они делают разные вещи в ответе.(Более сильная аналогия - фильтр сервлетов)
Так что в вашем конкретном случае (в зависимости от того, как вы вызываете скрипт оболочки) использование языка выражений (EL) может быть самым простым и простым.
Конечно, значение, которое вы хотите передать, должно быть тем, о котором процесс знает (иначе как он может передать значение, для которого нет переменной?)
Надеюсь, что это поможет.: D