流程变量更新时的 Activiti 事件侦听器

Activiti event listener on process variable update

致任何熟悉 Activiti 的开发人员,本质上是我正在寻找但目前我在他们的产品用户指南中找不到的东西,事件是否存在,就像其他开始任务事件侦听器或结束任务事件侦听器一样,在更新过程变量时触发的侦听器?所以任务正在进行中,我想对过程变量之一的状态变化做出反应..

有人知道 OOTB 产品是否可行吗?

我今天刚在研究这个。我注册了一个 EventListener 并实现了 onEvent()。

runtimeService.addEventListener(new APIEventListener());

然后您可以查看事件类型并采取适当的措施。

public class APIEventListener implements  ActivitiEventListener {

  final Logger logger = Logger.getLogger(this.getClass());

@Override
public void onEvent(ActivitiEvent event) {

  switch (event.getType()) {
    case VARIABLE_CREATED:
        variableEvent = (ActivitiVariableEvent)event;
        logger.debug("Event: "  + event.getType() + " "  
                    + variableEvent.getVariableName() + " (" + variableEvent.getVariableType().getTypeName() + ") = "  
                    + variableEvent.getVariableValue());
        break;

    case VARIABLE_DELETED:
        logger.debug("Event: "  + event.getType());
        break;
    case VARIABLE_UPDATED:
        logger.debug("Event: "  + event.getType());
        break;
   }

  } 
}

希望对您有所帮助!