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 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 root
        replicaMembers - 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.