Перезапустите Актер после исключения с предыдущим состоянием.

Хотите перезапустить актера после исключения с предыдущим состоянием по стратегиям супервизора.

Например

Супервайзер актера сохраняет некоторые параметры от своих детей. Также супервизор имеет следующую стратегию:

     override val supervisorStrategy =
            OneForOneStrategy(maxNrOfRetries = 10) {

              case e : ActorKilledException     => {
                log.info("Restart === " + e)
                Restart

//TODO HOW TO SEND SOME PARAMETER TO THE ACTOR, AFTER RESTART ? 
              }
              case _: Exception                => Escalate
            }

Как я могу установить предыдущий параметр актера «до сбоя» с помощью supervisorStrategy. ?

Я не смог найти его по http://doc.akka.io/docs/akka/2.4.2/general/supervision.html

Есть ссылки, примеры?

Спасибо!


person Community    schedule 21.03.2016    source источник


Ответы (1)


Всякий раз, когда вы думаете «сохранить предыдущее состояние», вам нужна стратегия Resume. Перезапуск конкретно означает «дайте мне нового Актера без (возможно) поврежденного состояния».

Это задокументировано на странице, на которую вы ссылаетесь: «Возобновить подчиненный, сохранив его накопленное внутреннее состояние».

Удачного хакинга.

person Konrad 'ktoso' Malawski    schedule 21.03.2016