我用以下这段代码来添加流表,成功了
final AddFlowInputBuilder builder = new AddFlowInputBuilder(flow);
builder.setNode(new NodeRef(nodeInstanceId));
builder.setFlowRef(new FlowRef(flowPath));
builder.setFlowTable(new FlowTableRef(tableInstanceId));
builder.setTransactionUri(new Uri(flow.getId().getValue()));
return salFlowService.addFlow(builder.build());
但是我用这段代码来删除流表时,这个交换机上的所有流表都被清空了!
RemoveFlowInputBuilder builder = new RemoveFlowInputBuilder()
.setNode(new NodeRef(nodeInstanceId))
.setFlowRef(new FlowRef(flowPath))
.setFlowTable(new FlowTableRef(tableInstanceId))
.setTransactionUri(new Uri(flow.getId().getValue()));
return salFlowService.removeFlow(builder.build());
我在karaf的log中确定过 nodeInstanceId/flowPath/tableInstanceId/flow 的值在两段代码中都是相同的。不知道是我理解的问题还是什么问题?请大神们告诉我一下!谢谢!