对于熟悉Activiti的任何开发人员,基本上我正在寻找的东西,目前我在他们的产品用户指南中找不到,是否存在事件,就像其他启动任务事件监听器或结束任务事件监听器一样,在更新流程变量时触发的监听器?所以任务正在进行中,我想对其中一个过程变量的状态发生变化做出反应。
有人知道OOTB产品是否可行吗?
答案 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;
}
}
}
希望有所帮助!