Akka PersistentFSM在applyEvent之后使用stateData值进行响应

Akka PersistentFSM在applyEvent之后使用stateData值进行响应,akka,akka-persistent-fsm,Akka,Akka Persistent Fsm,我将akka与PersistentFSM一起使用,希望能够在应用事件后使用stateData值回复消息 when(StartedState) { case Event(..., ...) => ... stay applying BidPlaced(...) replying BidPlacedReply(stateData) } BidPlacedReply是一个具有apply方法的对象,该方法允许基于我的stateData的某些字段构造BidP

我将akka与PersistentFSM一起使用,希望能够在应用事件后使用stateData值回复消息

when(StartedState) {
    case Event(..., ...) =>
        ...
        stay applying BidPlaced(...) replying BidPlacedReply(stateData)
}
BidPlacedReply是一个具有apply方法的对象,该方法允许基于我的stateData的某些字段构造BidPlacedReply,例如,我希望能够使用包含当前最高投标人id、最高投标人价格。。。这些值在applyEvent中计算,applyEvent修改状态并生成“stateAfter”

不幸的是,“replying BidPlacedReply(stateData)”方法在应用applyEvent之前使用stateData值调用BidPlacedReply.apply方法(这是我在日志中看到的)

我尝试了以下构造,但它没有修改下一条消息的状态数据(需要调用applying!!!)

有人知道我如何回复与applyEvent结果相对应的stateData值(stateData“after”)吗?


何时(开始状态){
案例事件(…,…)=>
...
继续应用bidplacted(…)和{(stateDataAfter:…)=>
发件人()!BidPlacedReply(stateDataAfter)
}
}

applyEvent(BidPlaced(...), stateData) match {
    case stateDataAfter => stay replying BidPlacedReply(stateDataAfter)
}