Tag: 阿卡

用Kotlin和akka-testkit测试akka演员

我正在玩阿卡和科特林。 我正在使用akka java API。 Actor类正常工作。 但是我不能用Akka-testkit来实现测试用例。 这是我的测试用例, fun testWordCount() { object : JavaTestKit(system) { init { val masterActor = system.actorOf(Props.create(WordCountActor.WordCountMaster::class.java), "master") masterActor.tell(WordCountActor.StartCounting("src/main/resources/", 5), testActor) val wcs = expectMsgClass(JavaTestKit.duration("5 seconds"), WordCountActor.WordCountSuccess::class.java) object : JavaTestKit.Within(JavaTestKit.duration("5 seconds")) { override fun run() { Assert.assertEquals(20, wcs.result.size) } } } } } 我得到下面的错误 – Error:(39, 17) Kotlin: [Internal Error] org.jetbrains.kotlin.codegen.CompilationException: Back-end […]

调用Http.get时重载解析歧义

我正尝试将一些用Java编写的Akka HTTP代码转换成Kotlin,并且在Kotlin重载解析模糊性方面存在问题。 ActorSystem system = ActorSystem.create("system"); ValidatorHttpService app = new ValidatorHttpService(system); ActorMaterializer materializer = ActorMaterializer.create(system); Flow<HttpRequest, HttpResponse, NotUsed> routeFlow = app.createRoute().flow(system, materializer); CompletionStage<ServerBinding> binding = Http.get(system) .bindAndHandle(routeFlow, ConnectHttp.toHost("localhost", 8080), materializer); 转换为Kotlin: val system = ActorSystem.create("system") val app = ValidatorHttpService(system) val materializer = ActorMaterializer.create(system) val routeFlow = app.createRoute().flow(system, materializer) val binding = Http.get(system).bindAndHandle(routeFlow, ConnectHttp.toHost("localhost", 8080), materializer) […]