gpt4 book ai didi

scala - 使用akka-http时如何在另一个actor中完成请求

转载 作者:行者123 更新时间:2023-12-04 06:58:25 26 4
gpt4 key购买 nike

我正在使用 akka-http 1.0,我想使用定义为的路由

def route: Route = path("") {
// start actor with requestContext
// call requestContext.complete(...) in actor with the result
}

我该如何做到这一点?

最佳答案

你可以尝试更好,比如:

package controllers

import akka.actor.{Actor, ActorSystem, Props}
import akka.stream.ActorMaterializer

import scala.concurrent.{Await, Future}
import akka.http.scaladsl.server.Directives._
import akka.stream.ActorMaterializer
import akka.util.Timeout
import akka.pattern.ask
import scala.concurrent.Await
import scala.concurrent.duration._
import scala.io.StdIn
import akka.actor._

import akka.util.Timeout


case object Message

class TestActor(name:String) extends Actor {
def receive = {
case Message =>
sender ! "Testing Ask pattern Approach"
println(s"hello from $name")

case _ =>

println("that was unexpected")
}
}

object AskTest extends App {

implicit val system= ActorSystem("myactor")
implicit val material=ActorMaterializer()

// implicit val props=Props.empty
implicit val timeout = Timeout(5 seconds)
implicit val result =system.actorOf(Props(new TestActor("TestingName")),name = "Scala")

val future3:Future[String]= ask(result ,Message).mapTo[String]
val results = Await.result(future3, 2 seconds)
println(results)
}

关于scala - 使用akka-http时如何在另一个actor中完成请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32011503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com