Создание типизированной области шарда из нетипизированной акторной системы - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть кластер akka с нетипизированной актерской системой. Теперь мне нужно изменить один узел на использование типизированных актеров. Вопрос в том, как я могу создать типизированный шардрегион из нетипизированной системы акторов? В основном мне нужно что-то вроде этого:

 import akka.cluster.sharding.typed.scaladsl.ClusterSharding
    ClusterSharding(untypedActorSyste).sharding.spawn(
      behavior = entityId ⇒ counter(entityId, 0),
      props = Props.empty,
      typeKey = TypeKey,
      settings = ClusterShardingSettings(system),
      maxNumberOfShards = 10,
      handOffStopMessage = GoodByeCounter)

Все примеры, которые я обнаружил, показывают, как провайдер использует типизированный шардинг на основе typedActorSystem ...

1 Ответ

0 голосов
/ 01 октября 2018

Вы можете преобразовать typedActorSystem в нетипизированныйActorSystem с помощью импорта адаптера.

// adds support for typed actors to an untyped actor system and context
import akka.actor.typed.scaladsl.adapter._

Это добавляет toUntyped метод неявного расширения к типизированной системе.

val typedSystem           : ActorSystem[Any]  = ActorSystem(Behavior.empty[Any], "typed-system")
implicit val untypedSystem: actor.ActorSystem = typedSystem.toUntyped

Проверьте Сосуществующую документацию для получения более подробной информации, другой способ - преобразование Нетипизированной в типизированную систему. Выберите лучший вариант для вашего случая.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...