2013-05-15 3 views
0

에서 더 자세한 정보는 당신이 언젠가 전에했던 동일한 문제가 없다 : "Getting errors with remote actor deployment in Akka 2.0 RC2를"그것은 yousolve 한 방법Akka의 원격 : 연결이 거부 됨 : "말"방법

? 저는 Akka 2.1.2를 사용하고 있지만 제 문제는 개념이라고 생각합니다.

ActorRef actorOf = system.actorOf(new Props(HelloWorld.class), "injbct"); 

다음 다른 JVM에서 나는 그것을 조회하려고 :

내가 배우 만들

ActorRef actorFor = system.actorFor("akka://[email protected]:2552/user/injbct"); 

감사합니다, 호세

+0

뭐 'akka.remote' 설정은 두 시스템에서 비슷하게 보입니까? 또한 포트 2552 (netstat -an | grep 2552)에서 듣고있는 것을 보시겠습니까 – sourcedelica

답변

-1

선발 투수를 들어, 당신은 Akka Remoting documentation을 읽어야 . 리모팅의 예와 유사한 파일

<dependency> 
    <groupId>com.typesafe.akka</groupId> 
    <artifactId>akka-remote_2.10</artifactId> 
    <version>2.1.4</version> 
</dependency> 

그런 다음, 양쪽 (호출 측과 수신 측이 자신의 application.conf에서 설정을 리모팅가 필요합니다 : 그럼, 당신이 당신의 치어 파일에 원격 종속성이 있는지 확인 문서 :.

akka { 
    actor { 
    provider = "akka.remote.RemoteActorRefProvider" 
    } 
    remote { 
    transport = "akka.remote.netty.NettyRemoteTransport" 
    netty { 
     hostname = "127.0.0.1" 
     port = 2552 
    } 
    } 
} 

당신은 배우 심판 공급자가 보내는 배우 측이 없으면 기본 LocalActorRefProvider 반대로 RemoteActorRefProvider로 설정되어있는 것을 알 수 있습니다 상황이 작동하지 않습니다 또한 볼 수 있습니다. 그 netty 바인딩 정보가 설정되어 있고 이것은 수신자 측에서 매우 중요합니다. ActorSystem은 원격 연결 및 메시지를 수신 대기 중입니다. 문서의 단계를 따르고받는 배우 시스템을 ActorSystem("KSystem")으로 시작하면 모든 것이 효과적입니다.

+1

hostname = "127.0.0.1"을 변경하려는 다른 컴퓨터를 사용하는 경우에는 통신 할 수 없습니다. –

+1

두 액터 시스템에 동일한 호스트를 사용하는 경우 액터 시스템 중 하나의 포트를 변경하려는 것은 동일한 포트에 바인드 할 수 없기 때문입니다. –

0

같은 컴퓨터에서 원격 액터에 액세스하는 경우 로컬 호스트 주소 127.0.0.1 또는 컴퓨터의 실제 IP 주소를 원격 액터의 구성과 액터의 액터 선언에 모두 사용해야한다는 것을 발견했습니다 사용자, 즉 혼합 할 수 없습니다.

원격 배우 설정

remote { 
    transport = "akka.remote.netty.NettyRemoteTransport" 
    netty { 
     hostname = "127.0.0.1" 
     port = 2554 

이 연결에

val workerRouter = 
    context.actorFor("akka://[email protected]:2554/user/PrimeWorkerActor") 

이하지 않습니다 및 결과 작동

후, 1.2.3.4의 IP 주소를 가지고 기계를 고려 거절 된

val workerRouter = 
    context.actorFor("akka://[email protected]:2554/user/PrimeWorkerActor") 
관련 문제