public interface ConnectorConfig extends SessionConfig, Config
This is used to specify the configuration of a single connector. A connector is a connection point to a Diffusion server. There must be at least one connector per Diffusion server. Each connector can be used to configure different requirements for different client needs.
Connectors can not be changed once the Diffusion server has started.
From release 6.2, the attributes that set the policy for the behavior of a
class of sessions are now grouped under the SessionConfig
super
interface. The remaining attributes of ConnectorConfig
relate to the
acceptance and establishment of inbound network connections.
Modifier and Type | Interface and Description |
---|---|
static class |
ConnectorConfig.FanoutLinkReadyCondition
Start condition representing a fanout link being ready.
|
static class |
ConnectorConfig.Protocol
The protocol allowed to connect to the connector.
|
static class |
ConnectorConfig.ProxyProtocol
The protocols allowed to connect to the connector.
|
static class |
ConnectorConfig.RemoteTopicViewReadyCondition
Start condition representing a remote topic view being ready.
|
static interface |
ConnectorConfig.StartCondition
Marker interface for start conditions.
|
SessionConfig.CompressionScheme
Modifier and Type | Field and Description |
---|---|
static ConnectorConfig.StartCondition |
CLUSTER_CONFIGURATION_RESTORED_CONDITION
Singleton start condition that is satisfied when the server is configured
as part of a cluster, has joined the cluster, and has completed
restoration of shared configuration.
|
static ConnectorConfig.StartCondition |
REPLICATED_TOPICS_RESTORED_CONDITION
Singleton start condition that is satisfied when the server is configured
as part of a cluster, has joined the cluster, and has completed
restoration of replicated topics.
|
Modifier and Type | Method and Description |
---|---|
ConnectionValidationPolicyConfig |
addConnectionValidationPolicy(String name)
Add a new connection validation policy for the connector.
|
void |
addIgnoreErrorsFrom(String ipAddress)
Add an IP address to ignore errors from.
|
int |
getBacklog()
Gets the backlog value.
|
long |
getConnectionTimeout()
Gets the connection timeout for inbound connections.
|
List<ConnectionValidationPolicyConfig> |
getConnectionValidationPolicies()
Get the connection validation policies defined for the connector.
|
ConnectionValidationPolicyConfig |
getConnectionValidationPolicy(String name)
Get a named connection validation policy that belongs to the connector.
|
String |
getHost()
Gets the host.
|
List<String> |
getIgnoreErrorsFrom()
Gets the list of IP addresses to ignore errors from.
|
KeyStoreConfig |
getKeyStore()
Gets the KeyStore configuration.
|
String |
getName()
Gets the connector name.
|
int |
getPort()
Gets the port.
|
Set<ConnectorConfig.Protocol> |
getProtocols()
Gets the client protocols supported by this connector.
|
ConnectorConfig.ProxyProtocol |
getProxyProtocol()
Indicates the proxy protocol required for connection.
|
String |
getSelectorThreadPoolDefinition()
Gets the selector thread pool definition.
|
SocketConditioningConfig |
getSocketConditioning()
Gets the Socket Conditioning Configuration.
|
List<ConnectorConfig.StartCondition> |
getStartConditions()
Gets the conditions that must be satisfied before the connector is
automatically started.
|
String |
getThreadPoolDefinition()
Gets the thread pool definition.
|
String |
getValidationPolicyFile()
Gets the validation policy file.
|
String |
getWebServer()
Gets the Web Server name.
|
boolean |
isRequired()
Gets the boolean value specifying if the connector is required.
|
ConnectionValidationPolicyConfig |
removeConnectionValidationPolicy(String name)
Remove a named connection validation policy.
|
void |
setBacklog(int backlog)
Sets the backlog.
|
void |
setConnectionTimeout(long timeout)
Sets the connection timeout for inbound connections.
|
void |
setHost(String host)
Sets the host address to bind to.
|
void |
setPort(int port)
Sets the port that the connector binds to.
|
void |
setProtocols(Set<ConnectorConfig.Protocol> protocols)
Sets the client protocols supported by this connector.
|
void |
setProxyProtocol(ConnectorConfig.ProxyProtocol protocol)
Sets the proxy protocol required for connection.
|
void |
setRequired(boolean required)
Sets a boolean value to specify if the connector is required on startup.
|
void |
setSelectorThreadPoolDefinition(String definitionName)
Sets the thread pool definition.
|
void |
setStartConditions(List<? extends ConnectorConfig.StartCondition> conditions)
Sets the conditions that must be satisfied before the connector is
automatically started.
|
void |
setThreadPoolDefinition(String definitionName)
Sets the thread pool definition.
|
void |
setValidationPolicyFile(String validationPolicyFile)
Sets a validation policy file.
|
void |
setWebServer(String webServerName)
Sets the Web Server.
|
getCompressionSchemes, getMaximumMessageSize, getMaximumQueuedBytes, getQueueDefinition, getReconnect, getSystemPingFrequency, setCompressionSchemes, setMaximumQueuedBytes, setQueueDefinition, setSystemPingFrequency
static final ConnectorConfig.StartCondition CLUSTER_CONFIGURATION_RESTORED_CONDITION
static final ConnectorConfig.StartCondition REPLICATED_TOPICS_RESTORED_CONDITION
String getName()
void setRequired(boolean required) throws ConfigException
start conditions
that are configured), the server is stopped.
By default, this is set to true.required
- is the connector required?ConfigException
- if unable to set the propertyboolean isRequired()
void setHost(String host) throws ConfigException
The name or the IP Address that the connector will bind to. If this is not specified, a simple local bind will be performed.
host
- name or ip addressConfigException
- if unable to set the propertyString getHost()
void setPort(int port) throws ConfigException
If not explicitly set, the default is 8080. If you do not change this and there is more than one connector, they would clash at runtime and one would fail to start.
port
- The port on which the connector will accept connectionsConfigException
- if unable to set the propertyint getPort()
void setBacklog(int backlog) throws ConfigException
The requested maximum queue length for incoming connection requests. It is rarely necessary to tune this value. Operating System settings must be adjusted in tandem. On Linux, the appropriate setting is net.core.somaxconn. If a value is not specified, a default of 1000 is used.
backlog
- queue length. If the value passed if equal or less than 0,
the default value for a socket connection will be used.ConfigException
- if unable to set the propertyint getBacklog()
SocketConditioningConfig getSocketConditioning()
void setWebServer(String webServerName) throws ConfigException
If this connector is required to serve HTTP requests, a corresponding Web Server configuration must be specified.
webServerName
- the name of a configured (@link WebServerConfig Web
Server}ConfigException
- if unable to set the propertyString getWebServer()
void setValidationPolicyFile(String validationPolicyFile) throws ConfigException
The location / name of a validation policy file for this connector.
If specified, this the connector will load
ConnectionValidationPolicyConfig
configuration from the specified
XML property file when starting,
validationPolicyFile
- file nameConfigException
- if unable to set the propertyString getValidationPolicyFile()
KeyStoreConfig getKeyStore()
The KeyStore configuration only applies to connectors that are to support SSL connections.
List<String> getIgnoreErrorsFrom()
void addIgnoreErrorsFrom(String ipAddress) throws ConfigException
Sometimes external entities may legitimately poll ports and by adding the IP addresses of such entities here, error messages that might otherwise be logged for invalid connections can be suppressed.
ipAddress
- an ip address to ignore connection errors fromConfigException
- if unable to add a new valuevoid setThreadPoolDefinition(String definitionName) throws ConfigException
Defines an optional thread pool to use to execute inbound requests for
this connector. The named definition (see ThreadPoolConfig
) must
have been configured for the owning server. If not specified, the
default
for the server will be
used.
definitionName
- thread pool definition nameConfigException
- if unable to set the propertyConfigException
- if unable to set the propertyString getThreadPoolDefinition()
void setSelectorThreadPoolDefinition(String definitionName) throws ConfigException
Defines an optional selector thread pool to use to deal with nio
operations. The named definition must have been configured for the owning
server. If not specified, the
SelectorThreadPoolsConfig.getDefaultPool()
for the server will be
used.
definitionName
- selector thread pool definition nameConfigException
- if unable to set the propertyString getSelectorThreadPoolDefinition()
List<ConnectionValidationPolicyConfig> getConnectionValidationPolicies()
ConnectionValidationPolicyConfig getConnectionValidationPolicy(String name)
name
- the policy nameConnectionValidationPolicyConfig addConnectionValidationPolicy(String name) throws ConfigException
This can be done even when configuration is locked.
name
- the policy nameConfigException
- if unable to add policy with given nameConnectionValidationPolicyConfig removeConnectionValidationPolicy(String name)
name
- the policy name.ConnectorConfig.ProxyProtocol getProxyProtocol()
void setProxyProtocol(ConnectorConfig.ProxyProtocol protocol) throws ConfigException
protocol
- the proxy protocol required for connectionConfigException
- if the configuration has been locked or the value
provided is nulllong getConnectionTimeout()
void setConnectionTimeout(long timeout) throws ConfigException
The value constrains the time taken to process the connection request and send the response. This includes the time taken to call any configured authentication handlers and look up location details.
If this is not specified, a value
TimeoutsConfig.getConnectionTimeout()
is used.
timeout
- time in milliseconds. If this exceeds one hour (3600000ms)
a warning will be logged and the timeout will be set to one hour.ConfigException
- if unable to set the propertyList<ConnectorConfig.StartCondition> getStartConditions()
void setStartConditions(List<? extends ConnectorConfig.StartCondition> conditions) throws ConfigException
conditions
- the conditions that must be satisfied for the connector to
be start automatically, which may be emptyConfigException
- if unable to set the propertyvoid setProtocols(Set<ConnectorConfig.Protocol> protocols) throws ConfigException
If empty, no protocols are supported.
protocols
- the supported protocolsConfigException
- if unable to set the propertySet<ConnectorConfig.Protocol> getProtocols()
setProtocols(Set)
Copyright © 2021 Push Technology Ltd. All Rights Reserved.