Page History
...
Code Block | ||||
---|---|---|---|---|
| ||||
public class MyActor: ReceiveActor { private readonly ILoggingAdapter log = Context.GetLogger(); private int state =0; public MyActor() { Receive<string>(message => { log.Info("Received String message: {0}", message); Sender.Tell(state ); }); Receive<SomeMessage>(message => {...}); } } //코드변경없이 옵션으로 로컬,원격,클러스터등의 선택 전략이 가능하다. var remoteActor = system.ActorSelection("akka.tcp://MyServer@127.0.0.1:8001/user/someActor"); // 질의를 하던지?(Ask), 단지 말만한다던지?(Tell), 결과를 기다리던지(Result)? 공통적인 인터페이스이며 객체접근기반이아닌 // 객체 접근 기반이아닌 메시지 전송기반의 처리반으로인터페이스를 사용하는 조금더 추상화된 모델이다. var state = remoteActor.Ask("Hello").Result; //질의를 하던지?(Ask), 단지 말만한다던지?(Tell), |
Actor는 오로지 메시만 주고 받으며 동시성을 달성하며, 결과값을 얻기위해서는 객체접근이아닌 질의를 해야한다.
...