2017-01-24 4 views
0

나는 세 명의 액터가 있습니다. 배우 A는 다양한 작업을 수행하기 위해 배우 B와 배우 C 급부상하고 배우 B의 결과와 C에 의존하지 않는종결 배우 계층

B와 C는 다음과 같은 방법으로 생성됩니다

배우 : 내가 확인하려면 어떻게

ActorRef actorB = this.getContext().actorOf(Props.create(ActorB.class, t)); 
actorB.tell(new msg, getSelf()); 

ActorRef actorC = this.getContext().actorOf(Props.create(ActorC.class, t)); 
actorC.tell(new anothermsg, getSelf()); 

작업이 각 배우에 의해 완료된 후이 계층 구조가 찢어지는 것입니까?

배우 B와 C 모두에게 명시적인 poisonPill 메시지를 보내나요? 또는이 조치가 취해 집니까?

답변

1

B와 C를 A와 독립적으로 중지하려면 가장 쉬운 방법은 작업 완료 후 context stop self으로 전화하는 것입니다. A는 (를) 통해이 이벤트에 대한 알림을받을 수 있습니다. - context watch b.

그렇지 않으면 전체 계층 구조가 동시에 중지되기를 원할 때 (즉, A가 종료 될 때), 모든 하위 항목이 자동으로 중지되므로 A를 중지하면됩니다.

자세한 내용은 here을 참조하십시오.