Class RestServerEndpointConfig
- java.lang.Object
-
- com.hazelcast.config.EndpointConfig
-
- com.hazelcast.config.ServerSocketEndpointConfig
-
- com.hazelcast.config.RestServerEndpointConfig
-
- All Implemented Interfaces:
NamedConfig
public class RestServerEndpointConfig extends ServerSocketEndpointConfig
Server socket endpoint config specialized for REST service Allows configuring access to REST groups similar toRestApiConfig
- Since:
- 3.12
-
-
Field Summary
-
Fields inherited from class com.hazelcast.config.ServerSocketEndpointConfig
DEFAULT_PORT, PORT_AUTO_INCREMENT
-
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 RestServerEndpointConfig()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RestServerEndpointConfig
addOutboundPort(int port)
RestServerEndpointConfig
addOutboundPortDefinition(java.lang.String portDef)
RestServerEndpointConfig
disableAllGroups()
Disables all REST endpoint groups.RestServerEndpointConfig
disableGroups(RestEndpointGroup... endpointGroups)
Disables provided REST endpoint groups.RestServerEndpointConfig
enableAllGroups()
Enables all REST endpoint groups.RestServerEndpointConfig
enableGroups(RestEndpointGroup... endpointGroups)
Enables provided REST endpoint groups.boolean
equals(java.lang.Object o)
java.util.Set<RestEndpointGroup>
getEnabledGroups()
Returns a not-null
set of enabled REST endpoint groups.com.hazelcast.instance.ProtocolType
getProtocolType()
com.hazelcast.instance.EndpointQualifier
getQualifier()
int
hashCode()
boolean
isEnabledAndNotEmpty()
Return true if the REST API is enabled and at least one REST endpoint group is allowed.boolean
isGroupEnabled(RestEndpointGroup group)
Checks if given REST endpoint group is enabled.RestServerEndpointConfig
setEnabledGroups(java.util.Collection<RestEndpointGroup> groups)
RestServerEndpointConfig
setInterfaces(InterfacesConfig interfaces)
RestServerEndpointConfig
setName(java.lang.String name)
RestServerEndpointConfig
setOutboundPortDefinitions(java.util.Collection<java.lang.String> outboundPortDefs)
RestServerEndpointConfig
setOutboundPorts(java.util.Collection<java.lang.Integer> outboundPorts)
RestServerEndpointConfig
setPort(int port)
Sets the port the Hazelcast member will try to bind on.RestServerEndpointConfig
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.RestServerEndpointConfig
setPublicAddress(java.lang.String publicAddress)
Overrides the public address of a member.RestServerEndpointConfig
setReuseAddress(boolean reuseAddress)
Sets the reuse address.RestServerEndpointConfig
setSocketBufferDirect(boolean socketBufferDirect)
RestServerEndpointConfig
setSocketConnectTimeoutSeconds(int socketConnectTimeoutSeconds)
RestServerEndpointConfig
setSocketInterceptorConfig(SocketInterceptorConfig socketInterceptorConfig)
Sets theSocketInterceptorConfig
.RestServerEndpointConfig
setSocketKeepAlive(boolean socketKeepAlive)
RestServerEndpointConfig
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.RestServerEndpointConfig
setSocketKeepIdleSeconds(int socketKeepIdleSeconds)
Set the number of seconds a connection needs to be idle before TCP begins sending out keep-alive probes.RestServerEndpointConfig
setSocketKeepIntervalSeconds(int socketKeepIntervalSeconds)
Set the number of seconds between keep-alive probes.RestServerEndpointConfig
setSocketLingerSeconds(int socketLingerSeconds)
RestServerEndpointConfig
setSocketRcvBufferSizeKb(int socketRcvBufferSizeKb)
RestServerEndpointConfig
setSocketSendBufferSizeKb(int socketSendBufferSizeKb)
RestServerEndpointConfig
setSocketTcpNoDelay(boolean socketTcpNoDelay)
RestServerEndpointConfig
setSSLConfig(SSLConfig sslConfig)
Sets theSSLConfig
.RestServerEndpointConfig
setSymmetricEncryptionConfig(SymmetricEncryptionConfig symmetricEncryptionConfig)
Sets theSymmetricEncryptionConfig
.RestServerEndpointConfig
setTpcSocketConfig(TpcSocketConfig tpcSocketConfig)
Sets the TpcSocketConfig.java.lang.String
toString()
-
Methods inherited from class com.hazelcast.config.ServerSocketEndpointConfig
getPort, getPortCount, getPublicAddress, isPortAutoIncrement, isReuseAddress, setPortCount, setProtocolType
-
Methods inherited from class com.hazelcast.config.EndpointConfig
getInterfaces, getName, getOutboundPortDefinitions, getOutboundPorts, getSocketConnectTimeoutSeconds, getSocketInterceptorConfig, getSocketKeepCount, getSocketKeepIdleSeconds, getSocketKeepIntervalSeconds, getSocketLingerSeconds, getSocketRcvBufferSizeKb, getSocketSendBufferSizeKb, getSSLConfig, getSymmetricEncryptionConfig, getTpcSocketConfig, isSocketBufferDirect, isSocketKeepAlive, isSocketTcpNoDelay
-
-
-
-
Method Detail
-
getProtocolType
public final com.hazelcast.instance.ProtocolType getProtocolType()
- Overrides:
getProtocolType
in classEndpointConfig
-
getQualifier
public com.hazelcast.instance.EndpointQualifier getQualifier()
- Overrides:
getQualifier
in classEndpointConfig
-
enableAllGroups
public RestServerEndpointConfig enableAllGroups()
Enables all REST endpoint groups.
-
enableGroups
public RestServerEndpointConfig enableGroups(RestEndpointGroup... endpointGroups)
Enables provided REST endpoint groups. It doesn't replace already enabled groups.
-
disableAllGroups
public RestServerEndpointConfig disableAllGroups()
Disables all REST endpoint groups.
-
disableGroups
public RestServerEndpointConfig disableGroups(RestEndpointGroup... endpointGroups)
Disables provided REST endpoint groups.
-
isEnabledAndNotEmpty
public boolean isEnabledAndNotEmpty()
Return true if the REST API is enabled and at least one REST endpoint group is allowed.
-
getEnabledGroups
public java.util.Set<RestEndpointGroup> getEnabledGroups()
Returns a not-null
set of enabled REST endpoint groups.
-
isGroupEnabled
public boolean isGroupEnabled(RestEndpointGroup group)
Checks if given REST endpoint group is enabled. It can returntrue
even if the REST API itself is disabled.
-
setEnabledGroups
public RestServerEndpointConfig setEnabledGroups(java.util.Collection<RestEndpointGroup> groups)
-
setPublicAddress
public RestServerEndpointConfig setPublicAddress(java.lang.String publicAddress)
Description copied from class:ServerSocketEndpointConfig
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”.- Overrides:
setPublicAddress
in classServerSocketEndpointConfig
-
setPort
public RestServerEndpointConfig setPort(int port)
Description copied from class:ServerSocketEndpointConfig
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.
- Overrides:
setPort
in classServerSocketEndpointConfig
- Parameters:
port
- the port the Hazelcast member will try to bind on- Returns:
- NetworkConfig the updated NetworkConfig
- See Also:
ServerSocketEndpointConfig.getPort()
,for more information
-
setPortAutoIncrement
public RestServerEndpointConfig setPortAutoIncrement(boolean portAutoIncrement)
Description copied from class:ServerSocketEndpointConfig
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
ServerSocketEndpointConfig.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
ServerSocketEndpointConfig.setPort(int)
and will try until it finds a free port, or until it runs out of ports to tryServerSocketEndpointConfig.setPortCount(int)
.- Overrides:
setPortAutoIncrement
in classServerSocketEndpointConfig
- Parameters:
portAutoIncrement
- the portAutoIncrement to set- Returns:
- the updated NetworkConfig
- See Also:
ServerSocketEndpointConfig.isPortAutoIncrement()
,ServerSocketEndpointConfig.setPortCount(int)
,ServerSocketEndpointConfig.setPort(int)
-
setReuseAddress
public RestServerEndpointConfig setReuseAddress(boolean reuseAddress)
Description copied from class:ServerSocketEndpointConfig
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
- Overrides:
setReuseAddress
in classServerSocketEndpointConfig
-
setName
public RestServerEndpointConfig setName(java.lang.String name)
- Specified by:
setName
in interfaceNamedConfig
- Overrides:
setName
in classServerSocketEndpointConfig
-
setOutboundPortDefinitions
public RestServerEndpointConfig setOutboundPortDefinitions(java.util.Collection<java.lang.String> outboundPortDefs)
- Overrides:
setOutboundPortDefinitions
in classServerSocketEndpointConfig
-
setOutboundPorts
public RestServerEndpointConfig setOutboundPorts(java.util.Collection<java.lang.Integer> outboundPorts)
- Overrides:
setOutboundPorts
in classServerSocketEndpointConfig
-
setInterfaces
public RestServerEndpointConfig setInterfaces(InterfacesConfig interfaces)
- Overrides:
setInterfaces
in classServerSocketEndpointConfig
- Parameters:
interfaces
- the interfaces to set
-
setSocketBufferDirect
public RestServerEndpointConfig setSocketBufferDirect(boolean socketBufferDirect)
- Overrides:
setSocketBufferDirect
in classServerSocketEndpointConfig
-
setSocketKeepAlive
public RestServerEndpointConfig setSocketKeepAlive(boolean socketKeepAlive)
- Overrides:
setSocketKeepAlive
in classServerSocketEndpointConfig
-
setSocketTcpNoDelay
public RestServerEndpointConfig setSocketTcpNoDelay(boolean socketTcpNoDelay)
- Overrides:
setSocketTcpNoDelay
in classServerSocketEndpointConfig
-
setSocketSendBufferSizeKb
public RestServerEndpointConfig setSocketSendBufferSizeKb(int socketSendBufferSizeKb)
- Overrides:
setSocketSendBufferSizeKb
in classServerSocketEndpointConfig
-
setSocketRcvBufferSizeKb
public RestServerEndpointConfig setSocketRcvBufferSizeKb(int socketRcvBufferSizeKb)
- Overrides:
setSocketRcvBufferSizeKb
in classServerSocketEndpointConfig
-
setSocketLingerSeconds
public RestServerEndpointConfig setSocketLingerSeconds(int socketLingerSeconds)
- Overrides:
setSocketLingerSeconds
in classServerSocketEndpointConfig
-
setSocketConnectTimeoutSeconds
public RestServerEndpointConfig setSocketConnectTimeoutSeconds(int socketConnectTimeoutSeconds)
- Overrides:
setSocketConnectTimeoutSeconds
in classServerSocketEndpointConfig
-
setSocketInterceptorConfig
public RestServerEndpointConfig setSocketInterceptorConfig(SocketInterceptorConfig socketInterceptorConfig)
Description copied from class:EndpointConfig
Sets theSocketInterceptorConfig
. The value can benull
if no socket interception is needed.- Overrides:
setSocketInterceptorConfig
in classServerSocketEndpointConfig
- Parameters:
socketInterceptorConfig
- the SocketInterceptorConfig to set- Returns:
- the updated NetworkConfig
-
setSSLConfig
public RestServerEndpointConfig setSSLConfig(SSLConfig sslConfig)
Description copied from class:EndpointConfig
Sets theSSLConfig
. null value indicates that no SSLConfig should be used.- Overrides:
setSSLConfig
in classServerSocketEndpointConfig
- Parameters:
sslConfig
- the SSLConfig- Returns:
- the updated NetworkConfig
- See Also:
EndpointConfig.getSSLConfig()
-
setTpcSocketConfig
@Beta @Nonnull public RestServerEndpointConfig setTpcSocketConfig(@Nonnull TpcSocketConfig tpcSocketConfig)
Description copied from class:EndpointConfig
Sets the TpcSocketConfig. Can't return null.- Overrides:
setTpcSocketConfig
in classServerSocketEndpointConfig
- Parameters:
tpcSocketConfig
- Tpc socket config to set- Returns:
- this endpoint config
- See Also:
TpcConfig
-
setSymmetricEncryptionConfig
public RestServerEndpointConfig setSymmetricEncryptionConfig(SymmetricEncryptionConfig symmetricEncryptionConfig)
Description copied from class:EndpointConfig
Sets theSymmetricEncryptionConfig
. The value can benull
if no symmetric encryption should be used.- Overrides:
setSymmetricEncryptionConfig
in classServerSocketEndpointConfig
- Parameters:
symmetricEncryptionConfig
- the SymmetricEncryptionConfig to set- Returns:
- the updated NetworkConfig
- See Also:
EndpointConfig.getSymmetricEncryptionConfig()
-
addOutboundPortDefinition
public RestServerEndpointConfig addOutboundPortDefinition(java.lang.String portDef)
- Overrides:
addOutboundPortDefinition
in classEndpointConfig
-
addOutboundPort
public RestServerEndpointConfig addOutboundPort(int port)
- Overrides:
addOutboundPort
in classEndpointConfig
-
setSocketKeepIdleSeconds
public RestServerEndpointConfig 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 classServerSocketEndpointConfig
- See Also:
- jdk.net.ExtendedSocketOptions#TCP_KEEPIDLE
-
setSocketKeepIntervalSeconds
public RestServerEndpointConfig 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 classServerSocketEndpointConfig
- See Also:
- jdk.net.ExtendedSocketOptions#TCP_KEEPINTERVAL
-
setSocketKeepCount
public RestServerEndpointConfig 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 classServerSocketEndpointConfig
- See Also:
- jdk.net.ExtendedSocketOptions#TCP_KEEPCOUNT
-
toString
public java.lang.String toString()
- Overrides:
toString
in classServerSocketEndpointConfig
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classServerSocketEndpointConfig
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classServerSocketEndpointConfig
-
-