Package com.hazelcast.config
Class AdvancedNetworkConfig
- java.lang.Object
-
- com.hazelcast.config.AdvancedNetworkConfig
-
@Beta public class AdvancedNetworkConfig extends java.lang.Object
Similar toNetworkConfig
with the additional ability to define multiple endpoints, each with its own separate protocol/security and/or socket properties. WhenAdvancedNetworkConfig
is present and enabled then it always takes precedence over the NetworkingConfig.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
AdvancedNetworkConfig.MemberNetworkingView
Member endpoint decorated as aNetworkConfig
Facade used during bootstrap to hide if-logic between the two networking configuration approaches
-
Constructor Summary
Constructors Constructor Description AdvancedNetworkConfig()
-
Method Summary
-
-
-
Method Detail
-
getMemberAddressProviderConfig
public MemberAddressProviderConfig getMemberAddressProviderConfig()
-
setMemberAddressProviderConfig
public AdvancedNetworkConfig setMemberAddressProviderConfig(MemberAddressProviderConfig memberAddressProviderConfig)
-
addWanEndpointConfig
public AdvancedNetworkConfig addWanEndpointConfig(EndpointConfig endpointConfig)
Adds the given WANEndpointConfig
to the endpoints configuration. When the argument is anEndpointConfig
, then it configures network settings for the client side of outgoing network connections opened from that member. When the providedendpointconfig
is aServerSocketEndpointConfig
, then theHazelcastInstance
will additionally listen on the configured port for incoming WAN connections.Example of how to configure Hazelcast instances for active-passive WAN replication:
-
On the passive side, configure the Hazelcast instance to listen on port 8765 with SSL enabled:
Config config = new Config(); ServerSocketEndpointConfig wanServerSocketConfig = new ServerSocketEndpointConfig().setPort(8765); // setup SSL config etc wanServerSocketConfig.getSSLConfig() .setEnabled(true) .setFactoryImplementation(new OpenSSLEngineFactory()); config.getAdvancedNetworkConfig() .setEnabled(true) .addWanEndpointConfig(wanServerSocketConfig); HazelcastInstance passive = Hazelcast.newHazelcastInstance(config);
-
On the active side, configure the client-side of outgoing connections with SSL:
Config config = new Config(); EndpointConfig wanEndpointConfig = new EndpointConfig().setName("wan-tokyo"); wanEndpointConfig.getSSLConfig() .setEnabled(true) .setFactoryImplementation(new OpenSSLEngineFactory()); config.getAdvancedNetworkConfig() .setEnabled(true) .addWanEndpointConfig(wanEndpointConfig); // setup WAN replication WanReplicationConfig wanReplicationConfig = new WanReplicationConfig(); // WAN publisher config references endpoint config by name WanBatchReplicationPublisherConfig publisherConfig = new WanBatchReplicationPublisherConfig() .setEndpoint("wan-tokyo") .setTargetEndpoints("tokyo.hazelcast.com:8765"); wanReplicationConfig.addWanBatchReplicationPublisherConfig(publisherConfig); config.addWanReplicationConfig(wanReplicationConfig); HazelcastInstance active = Hazelcast.newHazelcastInstance(config);
- Parameters:
endpointConfig
- the endpoint configuration to add- Returns:
- this object for fluent chaining
-
On the passive side, configure the Hazelcast instance to listen on port 8765 with SSL enabled:
-
setMemberEndpointConfig
public AdvancedNetworkConfig setMemberEndpointConfig(ServerSocketEndpointConfig serverSocketEndpointConfig)
Sets the server socket endpoint config forMEMBER
protocol. If anotherServerSocketEndpointConfig
was previously set, it will be replaced. When starting a Hazelcast instance withAdvancedNetworkConfig
enabled, its configuration must include oneServerSocketEndpointConfig
for protocol typeMEMBER
.- Parameters:
serverSocketEndpointConfig
- the server socket endpoint configuration- Returns:
- this object for fluent chaining
-
setClientEndpointConfig
public AdvancedNetworkConfig setClientEndpointConfig(ServerSocketEndpointConfig serverSocketEndpointConfig)
Sets the server socket endpoint config forCLIENT
protocol. If anotherServerSocketEndpointConfig
was previously set, it will be replaced. When starting a Hazelcast instance withAdvancedNetworkConfig
enabled, its configuration may include at most oneServerSocketEndpointConfig
for protocol typeCLIENT
.- Parameters:
serverSocketEndpointConfig
- the server socket endpoint configuration- Returns:
- this object for fluent chaining
-
setRestEndpointConfig
public AdvancedNetworkConfig setRestEndpointConfig(RestServerEndpointConfig restServerEndpointConfig)
Sets the server socket endpoint config forREST
protocol. If anotherServerSocketEndpointConfig
was previously set, it will be replaced. When starting a Hazelcast instance withAdvancedNetworkConfig
enabled, its configuration may include at most oneServerSocketEndpointConfig
for protocol typeREST
.- Parameters:
restServerEndpointConfig
- the server socket endpoint configuration- Returns:
- this object for fluent chaining
-
setMemcacheEndpointConfig
public AdvancedNetworkConfig setMemcacheEndpointConfig(ServerSocketEndpointConfig memcacheEndpointConfig)
Sets the server socket endpoint config formemcache
protocol. If anotherServerSocketEndpointConfig
was previously set, it will be replaced.- Parameters:
memcacheEndpointConfig
- the server socket endpoint configuration- Returns:
- this object for fluent chaining
-
getEndpointConfigs
public java.util.Map<com.hazelcast.instance.EndpointQualifier,EndpointConfig> getEndpointConfigs()
-
setEndpointConfigs
public AdvancedNetworkConfig setEndpointConfigs(java.util.Map<com.hazelcast.instance.EndpointQualifier,EndpointConfig> endpointConfigs)
-
isEnabled
public boolean isEnabled()
-
setEnabled
public AdvancedNetworkConfig setEnabled(boolean enabled)
-
getJoin
public JoinConfig getJoin()
Returns theJoinConfig
.- Returns:
- the join
-
setJoin
public AdvancedNetworkConfig setJoin(JoinConfig join)
- Parameters:
join
- the join to set
-
setIcmpFailureDetectorConfig
public AdvancedNetworkConfig setIcmpFailureDetectorConfig(IcmpFailureDetectorConfig icmpFailureDetectorConfig)
Sets theIcmpFailureDetectorConfig
. The value can benull
if this detector isn't needed.- Parameters:
icmpFailureDetectorConfig
- the IcmpFailureDetectorConfig to set- Returns:
- the updated NetworkConfig
- See Also:
getIcmpFailureDetectorConfig()
-
getIcmpFailureDetectorConfig
public IcmpFailureDetectorConfig getIcmpFailureDetectorConfig()
Returns the currentIcmpFailureDetectorConfig
. It is possible that null is returned if no IcmpFailureDetectorConfig has been set.- Returns:
- the IcmpFailureDetectorConfig
- See Also:
setIcmpFailureDetectorConfig(IcmpFailureDetectorConfig)
-
getRestEndpointConfig
public RestServerEndpointConfig getRestEndpointConfig()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-