Class ServerSocketEndpointConfig
- java.lang.Object
-
- com.hazelcast.config.EndpointConfig
-
- com.hazelcast.config.ServerSocketEndpointConfig
-
- All Implemented Interfaces:
NamedConfig
- Direct Known Subclasses:
RestServerEndpointConfig
public class ServerSocketEndpointConfig extends EndpointConfig
Endpoint configuration that defines a listening side (server)- Since:
- 3.12
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_PORT
Default value of port number.static int
PORT_AUTO_INCREMENT
Default port auto-increment count.-
Fields inherited from class com.hazelcast.config.EndpointConfig
DEFAULT_SOCKET_CONNECT_TIMEOUT_SECONDS, DEFAULT_SOCKET_KEEP_COUNT, DEFAULT_SOCKET_KEEP_IDLE_SECONDS, DEFAULT_SOCKET_KEEP_INTERVAL_SECONDS, DEFAULT_SOCKET_LINGER_SECONDS, DEFAULT_SOCKET_RECEIVE_BUFFER_SIZE_KB, DEFAULT_SOCKET_SEND_BUFFER_SIZE_KB, interfaces, name, protocolType, socketInterceptorConfig, sslConfig, symmetricEncryptionConfig
-
-
Constructor Summary
Constructors Constructor Description ServerSocketEndpointConfig()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
int
getPort()
Returns the port the Hazelcast member will try to bind on.int
getPortCount()
Returns the maximum number of ports allowed to try to bind on.java.lang.String
getPublicAddress()
int
hashCode()
boolean
isPortAutoIncrement()
Checks if a Hazelcast member is allowed find a free port by incrementing the port number when it encounters an occupied port.boolean
isReuseAddress()
ServerSocketEndpointConfig
setInterfaces(InterfacesConfig interfaces)
ServerSocketEndpointConfig
setName(java.lang.String name)
ServerSocketEndpointConfig
setOutboundPortDefinitions(java.util.Collection<java.lang.String> outboundPortDefs)
ServerSocketEndpointConfig
setOutboundPorts(java.util.Collection<java.lang.Integer> outboundPorts)
ServerSocketEndpointConfig
setPort(int port)
Sets the port the Hazelcast member will try to bind on.ServerSocketEndpointConfig
setPortAutoIncrement(boolean portAutoIncrement)
Sets if a Hazelcast member is allowed to find a free port by incrementing the port number when it encounters an occupied port.ServerSocketEndpointConfig
setPortCount(int portCount)
The maximum number of ports allowed to use.ServerSocketEndpointConfig
setProtocolType(com.hazelcast.instance.ProtocolType protocolType)
ServerSocketEndpointConfig
setPublicAddress(java.lang.String publicAddress)
Overrides the public address of a member.ServerSocketEndpointConfig
setReuseAddress(boolean reuseAddress)
Sets the reuse address.ServerSocketEndpointConfig
setSocketBufferDirect(boolean socketBufferDirect)
ServerSocketEndpointConfig
setSocketConnectTimeoutSeconds(int socketConnectTimeoutSeconds)
ServerSocketEndpointConfig
setSocketInterceptorConfig(SocketInterceptorConfig socketInterceptorConfig)
Sets theSocketInterceptorConfig
.ServerSocketEndpointConfig
setSocketKeepAlive(boolean socketKeepAlive)
ServerSocketEndpointConfig
setSocketKeepCount(int socketKeepCount)
Set the maximum number of TCP keep-alive probes to send before giving up and closing the connection if no response is obtained from the other side.ServerSocketEndpointConfig
setSocketKeepIdleSeconds(int socketKeepIdleSeconds)
Set the number of seconds a connection needs to be idle before TCP begins sending out keep-alive probes.ServerSocketEndpointConfig
setSocketKeepIntervalSeconds(int socketKeepIntervalSeconds)
Set the number of seconds between keep-alive probes.EndpointConfig
setSocketLingerSeconds(int socketLingerSeconds)
ServerSocketEndpointConfig
setSocketRcvBufferSizeKb(int socketRcvBufferSizeKb)
ServerSocketEndpointConfig
setSocketSendBufferSizeKb(int socketSendBufferSizeKb)
ServerSocketEndpointConfig
setSocketTcpNoDelay(boolean socketTcpNoDelay)
ServerSocketEndpointConfig
setSSLConfig(SSLConfig sslConfig)
Sets theSSLConfig
.ServerSocketEndpointConfig
setSymmetricEncryptionConfig(SymmetricEncryptionConfig symmetricEncryptionConfig)
Sets theSymmetricEncryptionConfig
.ServerSocketEndpointConfig
setTpcSocketConfig(TpcSocketConfig tpcSocketConfig)
Sets the TpcSocketConfig.java.lang.String
toString()
-
Methods inherited from class com.hazelcast.config.EndpointConfig
addOutboundPort, addOutboundPortDefinition, getInterfaces, getName, getOutboundPortDefinitions, getOutboundPorts, getProtocolType, getQualifier, getSocketConnectTimeoutSeconds, getSocketInterceptorConfig, getSocketKeepCount, getSocketKeepIdleSeconds, getSocketKeepIntervalSeconds, getSocketLingerSeconds, getSocketRcvBufferSizeKb, getSocketSendBufferSizeKb, getSSLConfig, getSymmetricEncryptionConfig, getTpcSocketConfig, isSocketBufferDirect, isSocketKeepAlive, isSocketTcpNoDelay
-
-
-
-
Field Detail
-
DEFAULT_PORT
public static final int DEFAULT_PORT
Default value of port number.- See Also:
- Constant Field Values
-
PORT_AUTO_INCREMENT
public static final int PORT_AUTO_INCREMENT
Default port auto-increment count.- See Also:
- Constant Field Values
-
-
Method Detail
-
getPublicAddress
public java.lang.String getPublicAddress()
-
setPublicAddress
public ServerSocketEndpointConfig setPublicAddress(java.lang.String publicAddress)
Overrides the public address of a member. Behind a NAT, two endpoints may not be able to see/access each other. If both nodes set their public addresses to their defined addresses on NAT, then that way they can communicate with each other. It should be set in the format “host IP address:port number”.
-
getPort
public int getPort()
Returns the port the Hazelcast member will try to bind on. A port number of 0 will let the system pick up an ephemeral port.- Returns:
- the port the Hazelcast member will try to bind on
- See Also:
setPort(int)
-
setPort
public ServerSocketEndpointConfig setPort(int port)
Sets the port the Hazelcast member will try to bind on.A valid port value is between 0 and 65535. A port number of 0 will let the system pick up an ephemeral port.
- Parameters:
port
- the port the Hazelcast member will try to bind on- Returns:
- NetworkConfig the updated NetworkConfig
- See Also:
getPort()
,for more information
-
getPortCount
public int getPortCount()
Returns the maximum number of ports allowed to try to bind on.- Returns:
- the maximum number of ports allowed to try to bind on
- See Also:
setPortCount(int)
,for more information
-
setPortCount
public ServerSocketEndpointConfig setPortCount(int portCount)
The maximum number of ports allowed to use.- Parameters:
portCount
- the maximum number of ports allowed to use- Returns:
- this configuration
- See Also:
for more information
-
isPortAutoIncrement
public boolean isPortAutoIncrement()
Checks if a Hazelcast member is allowed find a free port by incrementing the port number when it encounters an occupied port.- Returns:
- the portAutoIncrement
- See Also:
setPortAutoIncrement(boolean)
-
setPortAutoIncrement
public ServerSocketEndpointConfig setPortAutoIncrement(boolean portAutoIncrement)
Sets if a Hazelcast member is allowed to find a free port by incrementing the port number when it encounters an occupied port.If you explicitly want to control the port a Hazelcast member is going to use, you probably want to set portAutoincrement to false. In this case, the Hazelcast member is going to try the port
setPort(int)
and if the port is not free, the member will not start and throw an exception.If this value is set to true, Hazelcast will start at the port specified by
setPort(int)
and will try until it finds a free port, or until it runs out of ports to trysetPortCount(int)
.- Parameters:
portAutoIncrement
- the portAutoIncrement to set- Returns:
- the updated NetworkConfig
- See Also:
isPortAutoIncrement()
,setPortCount(int)
,setPort(int)
-
isReuseAddress
public boolean isReuseAddress()
-
setReuseAddress
public ServerSocketEndpointConfig setReuseAddress(boolean reuseAddress)
Sets the reuse address.When should setReuseAddress(true) be used?
When the member is shutdown, the server socket port will be in TIME_WAIT state for the next 2 minutes or so. If you start the member right after shutting it down, you may not be able to bind to the same port because it is in TIME_WAIT state. if you set reuseAddress=true then TIME_WAIT will be ignored and you will be able to bind to the same port again.
This property should not be set to true on the Windows platform: see
- http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6421091
- http://www.hsc.fr/ressources/articles/win_net_srv/multiple_bindings.html
-
setProtocolType
@PrivateApi public ServerSocketEndpointConfig setProtocolType(com.hazelcast.instance.ProtocolType protocolType)
- Overrides:
setProtocolType
in classEndpointConfig
-
setName
public ServerSocketEndpointConfig setName(java.lang.String name)
- Specified by:
setName
in interfaceNamedConfig
- Overrides:
setName
in classEndpointConfig
-
setOutboundPortDefinitions
public ServerSocketEndpointConfig setOutboundPortDefinitions(java.util.Collection<java.lang.String> outboundPortDefs)
- Overrides:
setOutboundPortDefinitions
in classEndpointConfig
-
setOutboundPorts
public ServerSocketEndpointConfig setOutboundPorts(java.util.Collection<java.lang.Integer> outboundPorts)
- Overrides:
setOutboundPorts
in classEndpointConfig
-
setInterfaces
public ServerSocketEndpointConfig setInterfaces(InterfacesConfig interfaces)
- Overrides:
setInterfaces
in classEndpointConfig
- Parameters:
interfaces
- the interfaces to set
-
setSocketBufferDirect
public ServerSocketEndpointConfig setSocketBufferDirect(boolean socketBufferDirect)
- Overrides:
setSocketBufferDirect
in classEndpointConfig
-
setSocketKeepAlive
public ServerSocketEndpointConfig setSocketKeepAlive(boolean socketKeepAlive)
- Overrides:
setSocketKeepAlive
in classEndpointConfig
-
setSocketTcpNoDelay
public ServerSocketEndpointConfig setSocketTcpNoDelay(boolean socketTcpNoDelay)
- Overrides:
setSocketTcpNoDelay
in classEndpointConfig
-
setSocketSendBufferSizeKb
public ServerSocketEndpointConfig setSocketSendBufferSizeKb(int socketSendBufferSizeKb)
- Overrides:
setSocketSendBufferSizeKb
in classEndpointConfig
-
setSocketRcvBufferSizeKb
public ServerSocketEndpointConfig setSocketRcvBufferSizeKb(int socketRcvBufferSizeKb)
- Overrides:
setSocketRcvBufferSizeKb
in classEndpointConfig
-
setSocketLingerSeconds
public EndpointConfig setSocketLingerSeconds(int socketLingerSeconds)
- Overrides:
setSocketLingerSeconds
in classEndpointConfig
-
setSocketConnectTimeoutSeconds
public ServerSocketEndpointConfig setSocketConnectTimeoutSeconds(int socketConnectTimeoutSeconds)
- Overrides:
setSocketConnectTimeoutSeconds
in classEndpointConfig
-
setSocketInterceptorConfig
public ServerSocketEndpointConfig setSocketInterceptorConfig(SocketInterceptorConfig socketInterceptorConfig)
Description copied from class:EndpointConfig
Sets theSocketInterceptorConfig
. The value can benull
if no socket interception is needed.- Overrides:
setSocketInterceptorConfig
in classEndpointConfig
- Parameters:
socketInterceptorConfig
- the SocketInterceptorConfig to set- Returns:
- the updated NetworkConfig
-
setSSLConfig
public ServerSocketEndpointConfig setSSLConfig(SSLConfig sslConfig)
Description copied from class:EndpointConfig
Sets theSSLConfig
. null value indicates that no SSLConfig should be used.- Overrides:
setSSLConfig
in classEndpointConfig
- Parameters:
sslConfig
- the SSLConfig- Returns:
- the updated NetworkConfig
- See Also:
EndpointConfig.getSSLConfig()
-
setTpcSocketConfig
@Beta @Nonnull public ServerSocketEndpointConfig setTpcSocketConfig(@Nonnull TpcSocketConfig tpcSocketConfig)
Description copied from class:EndpointConfig
Sets the TpcSocketConfig. Can't return null.- Overrides:
setTpcSocketConfig
in classEndpointConfig
- Parameters:
tpcSocketConfig
- Tpc socket config to set- Returns:
- this endpoint config
- See Also:
TpcConfig
-
setSymmetricEncryptionConfig
public ServerSocketEndpointConfig setSymmetricEncryptionConfig(SymmetricEncryptionConfig symmetricEncryptionConfig)
Description copied from class:EndpointConfig
Sets theSymmetricEncryptionConfig
. The value can benull
if no symmetric encryption should be used.- Overrides:
setSymmetricEncryptionConfig
in classEndpointConfig
- Parameters:
symmetricEncryptionConfig
- the SymmetricEncryptionConfig to set- Returns:
- the updated NetworkConfig
- See Also:
EndpointConfig.getSymmetricEncryptionConfig()
-
setSocketKeepIdleSeconds
public ServerSocketEndpointConfig setSocketKeepIdleSeconds(int socketKeepIdleSeconds)
Description copied from class:EndpointConfig
Set the number of seconds a connection needs to be idle before TCP begins sending out keep-alive probes. Valid values are 1 to 32767. This option is only applicable whenkeep alive is true
. Requires a recent JDK 8, JDK 11 or greater version that includes the required JDK support.- Overrides:
setSocketKeepIdleSeconds
in classEndpointConfig
- See Also:
- jdk.net.ExtendedSocketOptions#TCP_KEEPIDLE
-
setSocketKeepIntervalSeconds
public ServerSocketEndpointConfig setSocketKeepIntervalSeconds(int socketKeepIntervalSeconds)
Description copied from class:EndpointConfig
Set the number of seconds between keep-alive probes. Notice that this is the number of seconds between probes after the initialkeep-alive idle time
has passed. Valid values are 1 to 32767. This option is only applicable whenkeep alive is true
. Requires a recent JDK 8, JDK 11 or greater version that includes the required JDK support.- Overrides:
setSocketKeepIntervalSeconds
in classEndpointConfig
- See Also:
- jdk.net.ExtendedSocketOptions#TCP_KEEPINTERVAL
-
setSocketKeepCount
public ServerSocketEndpointConfig setSocketKeepCount(int socketKeepCount)
Description copied from class:EndpointConfig
Set the maximum number of TCP keep-alive probes to send before giving up and closing the connection if no response is obtained from the other side. Valid values are 1 to 127. This option is only applicable whenkeep alive is true
. Requires a recent JDK 8, JDK 11 or greater version that includes the required JDK support.- Overrides:
setSocketKeepCount
in classEndpointConfig
- See Also:
- jdk.net.ExtendedSocketOptions#TCP_KEEPCOUNT
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classEndpointConfig
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classEndpointConfig
-
-