Akka参与者响应缓存

Akka参与者响应缓存,akka,Akka,我在我的一个项目中使用Akka,我需要了解演员的状态,我的做法如下 一个休息请求进来了 @GET @Produces(Array(MediaType.APPLICATION_JSON)) def get() = { try { Await.result((getScanningActor ? WorkInfo), 5.second).asInstanceOf[ScanRequest] } catch{ case ex: TimeoutException => {

我在我的一个项目中使用Akka,我需要了解演员的状态,我的做法如下

一个休息请求进来了

@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。

如何测试它?通过HTTP?可能是缓存在客户端?可能是,但我怀疑。使用postman和IDEA的REST测试仪进行测试您可以发布getScanningActor的代码和actor内部的代码吗?我的怀疑是,要么您没有发送任何更改请求之间状态的消息,因此您得到了相同的结果,要么您的状态更改消息被发送到了与从getScanningActor获取的消息不同的参与者,我现在不在家,只能在周三回家,但是getScanningActor基本上是一个私人val的获取者,不应该产生新的参与者。我回家后会把密码寄出去。明白了吗。案例工作信息=>sender!currentWork.setIDUUID.randomUUID.toString来自参与者和私有变量scanningActor=actorSystem.actorOfProps[ScanActor],Scanner