java - Play 2.5.x 和 Akka 2.4.7 中构造函数 MyWebSocketActor 的参数过多

标签 java scala playframework akka actor

class MyWebSocketActorTest extends Specification with Mockito {

  val system = ActorSystem("MockActorSystem")
  val mockMap : Map[ActorRef , String] = Map()
  val mockCache = mock[CacheApi]
  val actor1 = system.actorOf(Props[ChatActor],"actor1")
  val actor2 = system.actorOf(Props[ChatActor],"actor2")


  "MyWebSocketActor receive function" should {

    "have username key" in {

      val testActor = system.actorOf(Props(new MyWebSocketActor(actor1 , actor2, mockCache , mockMap)))

      val testMsg1 = Json.parse("""{"message":"Testing Message 2","conn_status":2,"pub_key":"empty","target":"all"}""")

      testActor ! testMsg1




    }


  }


}

我正在使用 Akka 2.4.7 在 Play 2.5.3 和 Scala 中工作。我有一个看起来像这样的类 MyWebSocketActor(out:ActorRef,postActor:ActorRef,cache:CacheApi,postActorToUsernameMap:Map[ActorRef,String]) extends Actor

我想创建此类的 Actor 并调用其接收函数。我已按照此链接中的建议进行了尝试 Akka Java : create an actor with constructor taking parameters 也。但每次它都会给我错误:-

构造函数 MyWebSocketActor 的参数过多:()test.MyWebSocketActor

我在这里做错了什么?

最佳答案

你的 actor MyWebSocketActor 正在被你的测试服遮挡。将您的测试类更改为 MyWebSocketActor 以外的其他内容,例如 MyWebSocketActorTest

关于java - Play 2.5.x 和 Akka 2.4.7 中构造函数 MyWebSocketActor 的参数过多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38028642/

相关文章:

java - 如何控制表单刷新时的提交

javascript - 尝试在javascript中的java变量上使用.get方法

heroku - Play 1.2.5 应用部署在 heroku "Oops. conf/routes or conf/application.conf missing."

scala - 使用 SBT 预取 SBT 版本、Scala 和 Ivy 资源以创建镜像

scala - 在 docker compose 文件中将环境设置为列表

java - 我应该在 JAVA 开发服务器上为 Google App Engine BulkLoader 输入哪些凭据?

java - java 的旅行路线

java - 谷歌 API 的 Oauth2 超时

scala - 隐式是私有(private)的吗?

java - Akka Actor 生命周期