是否可以将所有工作流程变量传递给Activiti中的被调用进程?
对于特定的工作流程,我们有许多来自父级的变量需要传递给被调用的工作流程。虽然可以枚举它们,但自动传递所有变量非常有用,而无需在“父”工作流中枚举它们。
答案 0 :(得分:0)
使用附加到Start事件的ExecutionListener找到了一种方法。
public class WorkflowVariableInjectorListener implements ExecutionListener {
private static final long serialVersionUID = 1L;
static Logger logger = Logger.getLogger(WorkflowVariableInjectorListener.class);
@Override
public void notify(DelegateExecution execution) throws Exception {
logger.info("In notify");
if (execution instanceof ExecutionEntity) {
ExecutionEntity executionEntity = (ExecutionEntity) execution;
ExecutionEntity parentEntity = executionEntity.getSuperExecution();
if (parentEntity != null) {
// Copy all the variables into me
executionEntity.setVariables(parentEntity.getVariables());
}
}
}
}