프로그래밍 방식으로 원격 akka 액터를 만듭니다.원격 액터 만들기 프로그래밍 방식으로 작동하지 않습니다
package remoting.programatic.demo
import akka.actor.{ActorSystem, Props}
import com.typesafe.config.ConfigFactory
import remoting.config.demo.RemoteActor
object RemoteActorApp extends App {
val system = ActorSystem("RemoteNodeApp", ConfigFactory.load().getConfig("RemoteProgrammatically"))
val remoteActor = system.actorOf(Props[RemoteActor], name = "remoteActorAddr")
remoteActor ! "Hello!"
val actorSelection = system.actorSelection("akka.tcp://[email protected]:2553/user/remoteActorAddr")
Thread.sleep(4000L)
actorSelection ! "Hello!"
}
구성은 - -
은RemoteProgrammatically {
akka {
actor {
provider = "akka.remote.RemoteActorRefProvider"
deployment {
/remoteActorAddr {
remote = "akka.tcp://[email protected]:2553"
}
}
}
remote {
enabled-transports = ["akka.remote.netty.tcp"]
netty.tcp {
hostname = "localhost"
port = 2553
}
}
}
}
프로그램을 실행 한 후 출력이됩니다 - 내가 배우로 보낸 메시지는 항상
[INFO] [12/27/2017 10:37:30.053] [main] [akka.remote.Remoting] Starting remoting
[INFO] [12/27/2017 10:37:30.378] [main] [akka.remote.Remoting] Remoting started; listening on addresses :[akka.tcp://[email protected]:2553]
[INFO] [12/27/2017 10:37:30.379] [main] [akka.remote.Remoting] Remoting now listens on addresses: [akka.tcp://[email protected]:2553]
[INFO] [12/27/2017 10:37:30.418] [RemoteNodeApp-akka.actor.default-dispatcher-14] [akka://RemoteNodeApp/deadLetters] Message [java.lang.String] from Actor[akka://RemoteNodeApp/user/remoteActorAddr#-766312407] to Actor[akka://RemoteNodeApp/deadLetters] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[INFO] [12/27/2017 10:37:34.419] [RemoteNodeApp-akka.actor.default-dispatcher-14] [akka://RemoteNodeApp/deadLetters] Message [java.lang.String] from Actor[akka://RemoteNodeApp/user/remoteActorAddr#-766312407] to Actor[akka://RemoteNodeApp/deadLetters] was not delivered. [2] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
아래
는 프로그램입니다 죽은 편지에 들어갔다.remoteActorAddr
은 RemoteNodeApp 액터 시스템에서 성공적으로 생성되지 않았습니다. 액터가 만들어지지 않은 이유와 메시지가 항상 데드 레터에 들어가는 이유. 감사합니다. . 당신의 로그에서