Package com.hazelcast.config
Class AdvancedNetworkConfig
java.lang.Object
com.hazelcast.config.AdvancedNetworkConfig
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
Modifier and TypeClassDescriptionstatic class
Member endpoint decorated as aNetworkConfig
Facade used during bootstrap to hide if-logic between the two networking configuration approaches -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaddWanEndpointConfig
(EndpointConfig endpointConfig) Adds the given WANEndpointConfig
to the endpoints configuration.boolean
Map<com.hazelcast.instance.EndpointQualifier,
EndpointConfig> Returns the currentIcmpFailureDetectorConfig
.getJoin()
Returns theJoinConfig
.int
hashCode()
boolean
setClientEndpointConfig
(ServerSocketEndpointConfig serverSocketEndpointConfig) Sets the server socket endpoint config forCLIENT
protocol.setEnabled
(boolean enabled) setEndpointConfigs
(Map<com.hazelcast.instance.EndpointQualifier, EndpointConfig> endpointConfigs) setIcmpFailureDetectorConfig
(IcmpFailureDetectorConfig icmpFailureDetectorConfig) Sets theIcmpFailureDetectorConfig
.setJoin
(JoinConfig join) setMemberAddressProviderConfig
(MemberAddressProviderConfig memberAddressProviderConfig) setMemberEndpointConfig
(ServerSocketEndpointConfig serverSocketEndpointConfig) Sets the server socket endpoint config forMEMBER
protocol.setMemcacheEndpointConfig
(ServerSocketEndpointConfig memcacheEndpointConfig) Sets the server socket endpoint config formemcache
protocol.setRestEndpointConfig
(RestServerEndpointConfig restServerEndpointConfig) Deprecated, for removal: This API element is subject to removal in a future version.since 5.5, use RestConfig instead.toString()
-
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
@Deprecated(since="5.5", forRemoval=true) public AdvancedNetworkConfig setRestEndpointConfig(RestServerEndpointConfig restServerEndpointConfig) Deprecated, for removal: This API element is subject to removal in a future version.since 5.5, use RestConfig instead. Will be removed at 6.0.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
- See Also:
-
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<com.hazelcast.instance.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
Returns the currentIcmpFailureDetectorConfig
. It is possible that null is returned if no IcmpFailureDetectorConfig has been set.- Returns:
- the IcmpFailureDetectorConfig
- See Also:
-
getRestEndpointConfig
-
toString
-
equals
-
hashCode
public int hashCode()
-