关于流程变量更新的Activiti事件监听器

时间:2015-05-06 16:20:12

标签: activiti

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

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

1 个答案:

答案 0 :(得分:5)

我今天正在努力解决这个问题。我注册了一个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;
   }

  } 
}

希望有所帮助!