Package com.hazelcast.spi.merge
Class NamespaceAwareSplitBrainMergePolicyProvider
java.lang.Object
com.hazelcast.spi.merge.SplitBrainMergePolicyProvider
com.hazelcast.spi.merge.NamespaceAwareSplitBrainMergePolicyProvider
public final class NamespaceAwareSplitBrainMergePolicyProvider
extends SplitBrainMergePolicyProvider
A provider for
SplitBrainMergePolicy instances that supports namespace awareness.
Registers both out-of-the-box merge policies, identified by their fully qualified and simple class names, and custom merge policies based on the user-defined namespace container name.
- Since:
- 5.6
-
Field Summary
Fields inherited from class com.hazelcast.spi.merge.SplitBrainMergePolicyProvider
mergePolicyMap, OUT_OF_THE_BOX_MERGE_POLICIES -
Constructor Summary
ConstructorsConstructorDescriptionNamespaceAwareSplitBrainMergePolicyProvider(com.hazelcast.spi.impl.NodeEngine nodeEngine) Constructs a new provider forSplitBrainMergePolicyclasses. -
Method Summary
Modifier and TypeMethodDescriptionvoidclearNamespaceCache(String namespace) getMergePolicy(String className, String namespace) Resolves theSplitBrainMergePolicyclass by its classname within the specified namespace.Methods inherited from class com.hazelcast.spi.merge.SplitBrainMergePolicyProvider
getMergePolicy, isPredefinedMergePolicy
-
Constructor Details
-
NamespaceAwareSplitBrainMergePolicyProvider
public NamespaceAwareSplitBrainMergePolicyProvider(com.hazelcast.spi.impl.NodeEngine nodeEngine) Constructs a new provider forSplitBrainMergePolicyclasses.- Parameters:
nodeEngine- theNodeEngineto retrieve the classloader from
-
-
Method Details
-
getMergePolicy
Resolves theSplitBrainMergePolicyclass by its classname within the specified namespace. If the namespace isnull, the default namespace is used.- Overrides:
getMergePolicyin classSplitBrainMergePolicyProvider- Parameters:
className- the merge policy classname to resolvenamespace- user namespace container name- Returns:
- the resolved
SplitBrainMergePolicyclass - Throws:
InvalidConfigurationException- when the classname could not be resolved
-
clearNamespaceCache
- Overrides:
clearNamespaceCachein classSplitBrainMergePolicyProvider
-