如何在Akka FSM转换期间访问状态

问题描述:

我正在使用Akka FSM处理我的Actor中的状态。无论转换是从哪个状态开始的,我都希望在每次转换到某个状态时执行一些操作。阅读文档后,我敢肯定,这是可以解决这样的:如何在Akka FSM转换期间访问状态

onTransition({ 
    case (_, ToState) => performAction(stateData) 
}) 

... 

when(FromState){ 
    case "changestate" => goto(ToState) using NewStateData 
} 

然而,在进行转移时,stateData尚未更新到NewStateData。

在进入某个状态时执行操作的建议方式是什么?

感谢您提醒我注意,这确实是一个疏忽,我立即修复(请参阅the ticket)。不幸的是,你可以做的事情不多(除了自己将这个小补丁合并在一起),直到1.3出局,这应该是下周;如果你特别不耐烦,我将不胜感激,如果你可以尝试RC2本周将发布的修复。

+0

它花了两天时间,但RC2现在不在了。 –

+0

我似乎在akka 2.3.12中遇到过这个问题。你可以确认是否在传递给'onTransition()'的部分函数的相应情况下,使用'using'设置的新状态是否可用? – Mullefa

+1

它应该可以作为'nextStateData'使用。 –