public ProxyShardingSpec() : base(GetConfig()) { var role = "Shard"; clusterSharding = ClusterSharding.Get(Sys); shardingSettings = ClusterShardingSettings.Create(Sys); clusterSharding.StartProxy("myType", role, IdExtractor, ShardResolver); }
public void ClusterSharding_must_start_a_region_in_proxy_mode_in_case_of_node_role_mismatch() { var settingsWithRole = ClusterShardingSettings.Create(Sys).WithRole("nonExistingRole"); var typeName = "typeName"; var region = clusterSharding.Start( typeName: typeName, entityProps: Props.Empty, settings: settingsWithRole, extractEntityId: ExtractEntityId, extractShardId: ExtractShardId, allocationStrategy: new LeastShardAllocationStrategy(0, 0), handOffStopMessage: PoisonPill.Instance); var proxy = clusterSharding.StartProxy( typeName: typeName, role: settingsWithRole.Role, extractEntityId: ExtractEntityId, extractShardId: ExtractShardId ); region.Should().BeSameAs(proxy); }