【发布时间】:2021-07-30 13:05:00
【问题描述】:
假设我想使用状态为 -(S1,S2,S3) 的 SSM 对电子商务网站上的订单进行建模。当服务器重新启动时,特定的订单在 S2。我希望订单能够从 S2 中提取并在下次恢复。 我能想到的一种方法是在订单从 S1 转换到 S2 之后将 SSM ID 和状态“S2”保存在数据库中。 除此之外,我们可以有一个管理面板,任何人都可以在其中输入 SSM ID 并提交。此 SSM ID 可用于从数据库中检索订单的状态。但是,我必须编写一个 if-else 块,它会发出一个适当的事件,看起来像:
if (stateFromDatabase.equals("S1") {
stateMachine.sendEvent("E1");
} else if (stateFromDatabase.equals("S2")) {
stateMachine.sendEvent("E2");
} else if (stateFromDatabase.equals("S3")) {
stateMachine.sendEvent("E3");
}
这似乎不是一件体面的事情,我想知道是否有更好的方法。
【问题讨论】:
-
如果你发现了,请告诉我
标签: java spring spring-boot spring-data-jpa spring-statemachine