内部转换中的操作不会在DB

时间:2019-04-24 13:12:15

标签: spring-boot spring-statemachine

我通过Action进行内部转换,该操作可设置变量的值

.and().withInternal()
.source(DETAILS_ERROR).event(VIEW).action(setReadTrue())

 private static Action<StatusId, ActionId> setReadTrue() {
    return context -> {
        Doc doc = Util.getDoc(context);
        doc.setRead(Boolean.TRUE);
    };
}

我检查代码

  1. 设置DETAILS_ERROR状态
  2. 发送VIEW事件
  3. 邮递员给我的回复是read = true
  4. ...调试器告诉我read = true
  5. 但数据库中的值未更改(read = false)

如果我使用外部转换,则数据库中“ read”变量的值会更改(read = true)

 .and().withExternal()
.source(DETAILS_ERROR).target(DETAILS_ERROR).event(VIEW).action(setReadTrue())

请对我说,怎么了?我想使用withInternal()

0 个答案:

没有答案