Package com.hazelcast.azure
Class AzureDiscoveryStrategyFactory
java.lang.Object
com.hazelcast.azure.AzureDiscoveryStrategyFactory
- All Implemented Interfaces:
 DiscoveryStrategyFactory
Factory class which returns 
AzureDiscoveryStrategy to Discovery SPI- 
Nested Class Summary
Nested classes/interfaces inherited from interface com.hazelcast.spi.discovery.DiscoveryStrategyFactory
DiscoveryStrategyFactory.DiscoveryStrategyLevel - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionLevel of the discovery strategy.Returns a set of the expected configuration properties.Class<? extends DiscoveryStrategy>Returns the type of theDiscoveryStrategyitself.booleanChecks if Hazelcast is running on Azure.newDiscoveryStrategy(DiscoveryNode node, ILogger logger, Map<String, Comparable> properties) Instantiates a new instance of theDiscoveryStrategywith the given configuration properties. 
- 
Constructor Details
- 
AzureDiscoveryStrategyFactory
public AzureDiscoveryStrategyFactory() 
 - 
 - 
Method Details
- 
getDiscoveryStrategyType
Description copied from interface:DiscoveryStrategyFactoryReturns the type of theDiscoveryStrategyitself.- Specified by:
 getDiscoveryStrategyTypein interfaceDiscoveryStrategyFactory- Returns:
 - the type of the discovery strategy
 
 - 
newDiscoveryStrategy
public DiscoveryStrategy newDiscoveryStrategy(DiscoveryNode node, ILogger logger, Map<String, Comparable> properties) Description copied from interface:DiscoveryStrategyFactoryInstantiates a new instance of theDiscoveryStrategywith the given configuration properties. The providedHazelcastInstancecan be used to register instances in a service registry whenever the discovery strategy is started.- Specified by:
 newDiscoveryStrategyin interfaceDiscoveryStrategyFactory- Parameters:
 node- the current localDiscoveryNode, representing the local connection information if running on a Hazelcast member, otherwise on Hazelcast clients alwaysnulllogger- the logger instanceproperties- the properties parsed from the configuration- Returns:
 - a new instance of the discovery strategy
 
 - 
getConfigurationProperties
Description copied from interface:DiscoveryStrategyFactoryReturns 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.- Specified by:
 getConfigurationPropertiesin interfaceDiscoveryStrategyFactory- Returns:
 - a set of expected configuration properties
 
 - 
isAutoDetectionApplicable
public boolean isAutoDetectionApplicable()Checks if Hazelcast is running on Azure.To check if Hazelcast is running on Azure, we first check whether "internal.cloudapp.net" is present in the file "/etc/resolv.conf". Such an approach is not officially documented but seems like a good enough heuristic to detect an Azure Compute VM Instance. Since it's not the official method, we still need to make an API call to a local, non-routable address http://169.254.169.254/metadata/instance.
- Specified by:
 isAutoDetectionApplicablein interfaceDiscoveryStrategyFactory- Returns:
 - true if running on Azure Instance
 - See Also:
 
 - 
discoveryStrategyLevel
Description copied from interface:DiscoveryStrategyFactoryLevel of the discovery strategy.- Specified by:
 discoveryStrategyLevelin interfaceDiscoveryStrategyFactory
 
 -