Package com.hazelcast.config
Class AdvancedNetworkConfig
java.lang.Object
com.hazelcast.config.AdvancedNetworkConfig
@Beta public class AdvancedNetworkConfig extends Object
Similar to
NetworkConfig
with the additional ability to define multiple
endpoints, each with its own separate protocol/security and/or socket properties.
When AdvancedNetworkConfig
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
-
Constructor Details
-
AdvancedNetworkConfig
public AdvancedNetworkConfig()
-
-
Method Details
-
getMemberAddressProviderConfig
-
setMemberAddressProviderConfig
public AdvancedNetworkConfig setMemberAddressProviderConfig(MemberAddressProviderConfig memberAddressProviderConfig) -
addWanEndpointConfig
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
-
setEndpointConfigs
public AdvancedNetworkConfig setEndpointConfigs(Map<EndpointQualifier,EndpointConfig> endpointConfigs) -
isEnabled
public boolean isEnabled() -
setEnabled
-
getJoin
Returns theJoinConfig
.- Returns:
- the join
-
setJoin
- 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
Returns the currentIcmpFailureDetectorConfig
. It is possible that null is returned if no IcmpFailureDetectorConfig has been set.- Returns:
- the IcmpFailureDetectorConfig
- See Also:
setIcmpFailureDetectorConfig(IcmpFailureDetectorConfig)
-
getRestEndpointConfig
-
toString
-