- All Known Implementing Classes:
public interface DiscoveryStrategyFactory
DiscoveryStrategyFactoryis the entry point for strategy vendors. Every
DiscoveryStrategyshould have its own factory building it. In rare cases (like multiple version support or similar) one factory might return different provider implementations based on certain criteria. It is also up to the
DiscoveryStrategyFactoryto cache instances and return them in some kind of a Singleton-like fashion.
The defined set of configuration properties describes the existing properties inside
of the Hazelcast configuration. It will be used for automatic conversion,
type-checking and validation before handing them to the
This removes a lot of boilerplate from the provider vendor and provides some convenience as
well as guarantee to execute the expected configuration checks. The later is especially
important because there is no schema support for properties necessary or provided by the
provider plugins. Any kind of violation while verification of any type conversion error
as well as missing non-optional properties will throw an exception and prevent the node
from starting up.
Nested Class Summary
Nested Classes Modifier and Type Interface Description
static classLevel of the discovery strategy.
Modifier and Type Method Description
()Level of the discovery strategy.
()Returns a set of the expected configuration properties.
Class<? extends DiscoveryStrategy>
()Returns the type of the
()Checks whether the given discovery strategy may be applied with no additional config to the environment in which Hazelcast is currently running.
DiscoveryNode discoveryNode, ILogger logger, Map<String,Comparable> properties)(Instantiates a new instance of the
DiscoveryStrategywith the given configuration properties.
getDiscoveryStrategyTypeReturns the type of the
- the type of the discovery strategy
newDiscoveryStrategyDiscoveryStrategy newDiscoveryStrategy(DiscoveryNode discoveryNode, ILogger logger, Map<String,Comparable> properties)Instantiates a new instance of the
DiscoveryStrategywith the given configuration properties. The provided
HazelcastInstancecan be used to register instances in a service registry whenever the discovery strategy is started.
discoveryNode- the current local
DiscoveryNode, representing the local connection information if running on a Hazelcast member, otherwise on Hazelcast clients always
logger- the logger instance
properties- the properties parsed from the configuration
- a new instance of the discovery strategy
getConfigurationPropertiesReturns a set of the expected configuration properties. These properties contain information about the value type of the property, if it is required and a possible validator to automatically test and convert values from the XML configuration.
- a set of expected configuration properties
isAutoDetectionApplicabledefault boolean isAutoDetectionApplicable()Checks whether the given discovery strategy may be applied with no additional config to the environment in which Hazelcast is currently running.
Used by the auto detection mechanism to decide which strategy should be used.
discoveryStrategyLeveldefault DiscoveryStrategyFactory.DiscoveryStrategyLevel discoveryStrategyLevel()Level of the discovery strategy.