XOR split could not find at least one valid outgoing connection for split null
这通常是因为排他性网关的条件表达式中使用了流程变量,但是代码中上一个任务 complete 时并没有将这个变量带上(或传递)给网关。
例如,在网关出口的条件表达式中,使用了流程变量 directorAgree:
网关上一任务办结时的代码:
results = new HashMap<String, Object>(); results.put("directorAgree_out", true);// 注意 directorAgree_out 是任务中设置的输出变量。 taskService.complete(task3.getId(), "王五", results);
这里的 directorAgree_out 任务变量实际上在任务的 Assignments 中并不存在:
注意,任务变量实际上叫做 directorAgree,而不是代码中所用的 directorAgree_out。因此对全局变量 directorAgree 的赋值操作是无效的,也不会被传递到网关。
解决办法,要么在流程图中修改任务变量,要么修改代码,将 directorAgree_out 改成 directorAgree。
检查 h2 数据库是否没有启起来,或者 9092 端口被占用: lsof -i:9092
。
如果被占用的话,kill 一下就好。后者直接重启系统。然后在 ant start。