day*_*mer 0 scala akka akka-http
我正在努力学习akka-http和研究他们的榜样
这是我的代码的样子
val system = ActorSystem.create("enterpriseSystem", ConfigFactory.load("application"))
val notifier = system.actorOf(Props[Notifier], "notifier")
Run Code Online (Sandbox Code Playgroud)
和通知者
class Notifier extends Actor with ActorLogging {
implicit val system = ActorSystem()
implicit val materializer = ActorMaterializer()
import scala.concurrent.ExecutionContext.Implicits.global
def receive = {
case CommunicateECFailure =>
log.info("notifying about EC Failure")
val responseFuture: Future[HttpResponse] =
Http().singleRequest(HttpRequest(uri = "http://localhost:8080"))
responseFuture onComplete {
case response =>
log.info("response received {}", response)
log.info("notified about EC Failure")
}
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我ActorSystem为每一个Actor创作创造了新的东西,那是不是很糟糕 我在akka文档中读到你不应该有很多ActorSystems
我怎么能避免这种情况?在施工期间将其作为参数传递?
你ActorSystem每次创造新的都是错的!ActorSystem每个演员都有context:
context.system
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
109 次 |
| 最近记录: |