Interface DistributedShardFactory
-
- All Known Implementing Classes:
DistributedShardedDOMDataTree
,OSGiDistributedShardedDOMDataTree
@Beta public interface DistributedShardFactory
A factory that handles addition of new clustered shard's based on a prefix. This factory is a QoL class that handles all the boilerplate that comes with registration of a new clustered shard into the system and creating the backend shard/replicas that come along with it.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CompletionStage<DistributedShardRegistration>
createDistributedShard(DOMDataTreeIdentifier prefix, Collection<MemberName> replicaMembers)
Register a new shard that is rooted at the desired prefix with replicas on the provided members.
-
-
-
Method Detail
-
createDistributedShard
CompletionStage<DistributedShardRegistration> createDistributedShard(DOMDataTreeIdentifier prefix, Collection<MemberName> replicaMembers) throws DOMDataTreeShardingConflictException
Register a new shard that is rooted at the desired prefix with replicas on the provided members. Note to register a shard without replicas you still need to provide at least one Member for the shard.- Parameters:
prefix
- Shard rootreplicaMembers
- Members that this shard is replicated on, has to have at least one Member even if the shard should not be replicated.- Returns:
- A future that will be completed with a DistributedShardRegistration once the backend and frontend shards are spawned.
- Throws:
DOMDataTreeShardingConflictException
- If the initial check for a conflict on the local node fails, the sharding configuration won't be updated if this exception is thrown.
-
-