Package com.hazelcast.config
Class MulticastConfig
java.lang.Object
com.hazelcast.config.MulticastConfig
public class MulticastConfig extends Object
Contains the configuration for the multicast discovery mechanism.
With the multicast discovery mechanism Hazelcast allows Hazelcast members to find each other using multicast. So Hazelcast members do not need to know concrete addresses of members, they just multicast to everyone listening.
It depends on your environment if multicast is possible or allowed; you need to have a look at the
TCP/IP cluster: TcpIpConfig
.
-
Field Summary
Fields Modifier and Type Field Description static boolean
DEFAULT_ENABLED
Whether the multicast discovery mechanism has been enabledstatic boolean
DEFAULT_LOOPBACK_MODE_ENABLED
Default flag that indicates if the loopback mode is turned on or off.static String
DEFAULT_MULTICAST_GROUP
Default group of multicast.static int
DEFAULT_MULTICAST_PORT
Default value of port.static int
DEFAULT_MULTICAST_TIMEOUT_SECONDS
Default timeout of multicast in seconds.static int
DEFAULT_MULTICAST_TTL
Default value of time to live of multicast. -
Constructor Summary
Constructors Constructor Description MulticastConfig()
-
Method Summary
Modifier and Type Method Description MulticastConfig
addTrustedInterface(String ip)
Adds a trusted interface.boolean
equals(Object o)
String
getMulticastGroup()
Gets the multicast group.int
getMulticastPort()
Gets the multicast port.int
getMulticastTimeoutSeconds()
Gets the multicast timeout in seconds.int
getMulticastTimeToLive()
Gets the time to live for the multicast package.Set<String>
getTrustedInterfaces()
Gets the trusted interfaces.int
hashCode()
boolean
isEnabled()
Check if the multicast discovery mechanism has been enabled.boolean
isLoopbackModeEnabled()
Check if the loopback mode is enabled in the multicast discovery mechanism.MulticastConfig
setEnabled(boolean enabled)
Enables or disables the multicast discovery mechanismMulticastConfig
setLoopbackModeEnabled(boolean enabled)
Enables or disables the loopback mode in the multicast discovery mechanism.MulticastConfig
setMulticastGroup(String multicastGroup)
Sets the multicast group.MulticastConfig
setMulticastPort(int multicastPort)
Sets the multicast port.MulticastConfig
setMulticastTimeoutSeconds(int multicastTimeoutSeconds)
Specifies the time in seconds that a node should wait for a valid multicast response from another node running in the network before declaring itself as master node and creating its own cluster.MulticastConfig
setMulticastTimeToLive(int multicastTimeToLive)
Sets the time to live for the multicast package; a value between 0..255.MulticastConfig
setTrustedInterfaces(Set<String> interfaces)
Sets the trusted interfaces.String
toString()
-
Field Details
-
DEFAULT_ENABLED
public static final boolean DEFAULT_ENABLEDWhether the multicast discovery mechanism has been enabled- See Also:
- Constant Field Values
-
DEFAULT_MULTICAST_GROUP
Default group of multicast.- See Also:
- Constant Field Values
-
DEFAULT_MULTICAST_PORT
public static final int DEFAULT_MULTICAST_PORTDefault value of port.- See Also:
- Constant Field Values
-
DEFAULT_MULTICAST_TIMEOUT_SECONDS
public static final int DEFAULT_MULTICAST_TIMEOUT_SECONDSDefault timeout of multicast in seconds.- See Also:
- Constant Field Values
-
DEFAULT_MULTICAST_TTL
public static final int DEFAULT_MULTICAST_TTLDefault value of time to live of multicast.- See Also:
- Constant Field Values
-
DEFAULT_LOOPBACK_MODE_ENABLED
public static final boolean DEFAULT_LOOPBACK_MODE_ENABLEDDefault flag that indicates if the loopback mode is turned on or off.- See Also:
- Constant Field Values
-
-
Constructor Details
-
MulticastConfig
public MulticastConfig()
-
-
Method Details
-
isEnabled
public boolean isEnabled()Check if the multicast discovery mechanism has been enabled.- Returns:
- true if the multicast discovery mechanism has been enabled
-
setEnabled
Enables or disables the multicast discovery mechanism- Parameters:
enabled
-true
to enable,false
to disable- Returns:
- the updated MulticastConfig
-
getMulticastGroup
Gets the multicast group.- Returns:
- the multicastGroup
-
setMulticastGroup
Sets the multicast group.- Parameters:
multicastGroup
- the multicastGroup to set- Returns:
- the updated MulticastConfig
- Throws:
IllegalArgumentException
- if multicastGroup isnull
or empty- See Also:
getMulticastGroup()
,setMulticastPort(int)
-
getMulticastPort
public int getMulticastPort()Gets the multicast port.- Returns:
- the multicastPort
- See Also:
setMulticastPort(int)
-
setMulticastPort
Sets the multicast port.- Parameters:
multicastPort
- the multicastPort to set- Returns:
- the updated MulticastConfig
- Throws:
IllegalArgumentException
- if multicastPort is smaller than 0- See Also:
getMulticastPort()
,setMulticastGroup(String)
-
getMulticastTimeoutSeconds
public int getMulticastTimeoutSeconds()Gets the multicast timeout in seconds.- Returns:
- the multicastTimeoutSeconds
- See Also:
setMulticastTimeoutSeconds(int)
-
setMulticastTimeoutSeconds
Specifies the time in seconds that a node should wait for a valid multicast response from another node running in the network before declaring itself as master node and creating its own cluster. This applies only to the startup of nodes where no master has been assigned yet. If you specify a high value, e.g. 60 seconds, it means until a master is selected, each node is going to wait 60 seconds before continuing, so be careful with providing a high value. If the value is set too low, nodes might give up too early and create their own cluster.- Parameters:
multicastTimeoutSeconds
- the multicastTimeoutSeconds to set- Returns:
- the updated MulticastConfig
- See Also:
getMulticastTimeoutSeconds()
-
getTrustedInterfaces
Gets the trusted interfaces.- Returns:
- the trusted interfaces
- See Also:
setTrustedInterfaces(java.util.Set)
-
setTrustedInterfaces
Sets the trusted interfaces.By default, when the set of trusted interfaces is empty, a Hazelcast member will accept join-requests from every member. With a trusted interface, you can control the members you want to receive join requests from.
The interface is an IP address where the last octet can be a wildcard '*' or a range '10-20'.
- Parameters:
interfaces
- the new trusted interfaces- Returns:
- the updated MulticastConfig
- See Also:
if interfaces is
-
addTrustedInterface
Adds a trusted interface.- Parameters:
ip
- the IP of the trusted interface- Returns:
- the updated MulticastConfig
- Throws:
IllegalArgumentException
- if IP isnull
- See Also:
setTrustedInterfaces(java.util.Set)
-
getMulticastTimeToLive
public int getMulticastTimeToLive()Gets the time to live for the multicast package.- Returns:
- the time to live for the multicast package
- See Also:
MulticastSocket.setTimeToLive(int)
,setMulticastTimeToLive(int)
-
setMulticastTimeToLive
Sets the time to live for the multicast package; a value between 0..255.See this link for more information.
- Parameters:
multicastTimeToLive
- the time to live for the multicast package- Returns:
- the updated MulticastConfig
- Throws:
IllegalArgumentException
- if time to live is smaller than 0 or larger than 255- See Also:
getMulticastTimeToLive()
,MulticastSocket.setTimeToLive(int)
-
isLoopbackModeEnabled
public boolean isLoopbackModeEnabled()Check if the loopback mode is enabled in the multicast discovery mechanism.- Returns:
true
if the the loopback mode is enabled,false
otherwise
-
setLoopbackModeEnabled
Enables or disables the loopback mode in the multicast discovery mechanism.- Parameters:
enabled
-true
to enable the loopback mode,false
to disable- Returns:
- the updated MulticastConfig
-
equals
-
hashCode
public final int hashCode() -
toString
-