我在我的一个项目中使用Akka,我需要获得演员的状态,我这样做的方式如下。
REST请求进入
@GET
@Produces(Array(MediaType.APPLICATION_JSON))
def get() = {
try {
Await.result((getScanningActor ? WorkInfo), 5.second).asInstanceOf[ScanRequest]
}
catch{
case ex: TimeoutException => {
RequestTimedOut()
}
}
}
在演员身上我回应当前的工作状态
case WorkInfo => sender ! currentWork
由于某种原因,我第一次调用此函数时得到了正确的值,在以下请求中,我获得了第一次调用时收到的相同值
如果有任何不同,我也会使用DCEVM。