Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagec#
themeEmacs
linenumberstrue
    public class BasicActor : UntypedActor
    {
        private ILoggingAdapter log = Context.GetLogger();

        protected override void PreStart()
        {

        }

        protected override void PreRestart(Exception reason, object message)
        {

        }

        protected override void OnReceive(object message)
        {
            //handle messages here
            log.Info("BasicActor:GetSomeMessage " + message.ToString());
            Sender.Tell("OK");
        }

        protected override void PostStop()
        {

        }

        protected override void PostRestart(Exception reason)
        {

        }
    }

 메시지 수신처리외에 다양한 이벤트에 대한 처리기핸들링 가능합니다.액터의 라이프 사이클과 관련된 Hooks 대한 처리가 가능합니다.


Hooks :

  • PreStart : 액터가 생성될시 호출이 됩니다.
  • PostStop : 액터의 작동을 멈출시 호출이 되며, 만약 멈출 액터에게 메시지를 보내면 DeadLeeters가 발생됩니다.
  • PreRestart : 액터문제로인해 복구를위해 재시작이 될때, 실패 메시지를 통보받으며 새롭게 준비하는데 좋은장소입니다.
  • PostRestart : 재시작을 야기한 예외를 가지고 호출되며, 기본적으로 정상적인 시작 사례와 유사합니다.


Actors-Fault Tolerance Part에서 좀더 자세한 장애처리 전략 설명

Monitoring

 어떠한 액터에게, 특정액터를 감시하게 하거나 kill을 할수 있는 권한을 준다고 했을시

...