【发布时间】:2017-10-27 14:21:25
【问题描述】:
使用 stateless4j 我试图执行一个动作来响应一个特定状态的参数事件。处理完事件后我不想改变状态。
由于 stateless4j 不支持对事件的操作(尽管我看到有一个待处理的补丁),我反而滥用了 permitDynamic() 并使用选择器来执行我的操作。然后我在选择器中返回相同的状态。因此,在action_activated_serviceRegistered 下面的代码中返回FsmState.ACTIVATED。
activationFsmConfig
.configure(FsmState.ACTIVATED)
.onEntry(fsmFunctions::action_activated_entry)
.onExit(fsmFunctions::action_activated_exit)
.permitDynamic(new TriggerWithParameters1<>(Trigger.SERVICE_REGISTERED, ServiceReference.class), fsmFunctions::action_activated_serviceRegistered);
我遇到的问题是,即使我没有更改状态,我的状态的退出和进入操作也会触发。
有更好的方法吗?
【问题讨论】:
标签: java fsm stateless4j