每个对话(每个交易查询)我都有一个状态机实例。交易查询会在接收事件时通过不同的状态移动,并且某些统计数据可能无效。
示例->状态:a、b、c、d、e 转换/事件:E1、E2、E3、E4、E5 状态机类似于:a--E1-->b---E2-->c --E5--> e
我在 builder 中注册了 statemachine listener:StateMachine machine = builder.build(); machine.addStateListener(new StateMachineListener());
此 StateMachineListener 仅抛出 RuntimeException 以防万一事件未被接受,但由于 CompositeStateMachineListener.eventNotAccepted 处的代码未将 execption 传递给调用者而是打印在日志中。
我的问题是:如果事件不被接受,状态机如何通知调用者?