public static IActorRef StartAggregateClusterProxy(ActorSystem actorSystem, string clusterRoleName, int numberOfShards = 12) { var clusterSharding = ClusterSharding.Get(actorSystem); var shardResolver = new ShardResolvers(numberOfShards); var shardRef = clusterSharding.StartProxy( typeof(TAggregateManager).Name, clusterRoleName, ShardIdentityExtractors .AggregateIdentityExtractor <TAggregate, TIdentity>, shardResolver.AggregateShardResolver <TAggregate, TIdentity> ); return(shardRef); }
public static IActorRef StartAggregateCluster(ActorSystem actorSystem, int numberOfShards = 12) { var clusterSharding = ClusterSharding.Get(actorSystem); var clusterShardingSettings = clusterSharding.Settings; var shardResolver = new ShardResolvers(numberOfShards); var shardRef = clusterSharding.Start( typeof(TAggregateManager).Name, Props.Create <TAggregateManager>(), clusterShardingSettings, ShardIdentityExtractors .AggregateIdentityExtractor <TAggregate, TIdentity>, shardResolver.AggregateShardResolver <TAggregate, TIdentity> ); return(shardRef); }