public class ClientConnectionManager extends ConnectionManager<XMPPIOService<Object>>
ConnectionManager.LIMIT_ACTION, ConnectionManager.Watchdog, ConnectionManager.WATCHDOG_PING_TYPE
Modifier and Type | Field and Description |
---|---|
protected static String |
FORCE_REDIRECT_TO_KEY |
protected RoutingsContainer |
routings
Field description
|
protected SeeOtherHostIfc |
see_other_host_strategy
Field description
|
connectionDelay, delayPortListening, elements_number_limit, ELEMENTS_NUMBER_LIMIT_PROP_KEY, ELEMENTS_NUMBER_LIMIT_PROP_VAL, HT_TRAFFIC_THROTTLING_PROP_KEY, HT_TRAFFIC_THROTTLING_PROP_VAL, LAST_MINUTE_BIN_LIMIT_PROP_VAL, LAST_MINUTE_PACKETS_LIMIT_PROP_VAL, MAX_INACTIVITY_TIME, MAX_RECONNECTS_PROP_KEY, net_buffer, NET_BUFFER_HT_PROP_KEY, NET_BUFFER_HT_PROP_VAL, NET_BUFFER_LIMIT_HT_PROP_VAL, NET_BUFFER_LIMIT_PROP_KEY, NET_BUFFER_LIMIT_ST_PROP_VAL, NET_BUFFER_PROP_KEY, NET_BUFFER_ST_PROP_KEY, NET_BUFFER_ST_PROP_VAL, pingElement, PORT_CLASS_PROP_KEY, PORT_IFC_PROP_KEY, PORT_IFC_PROP_VAL, PORT_KEY, PORT_LISTENING_DELAY_DEF, PORT_LISTENING_DELAY_KEY, PORT_LOCAL_HOST_PROP_KEY, PORT_REMOTE_HOST_PROP_KEY, PORT_REMOTE_HOST_PROP_VAL, PORT_SOCKET_PROP_KEY, PORT_TYPE_PROP_KEY, PORTS_PROP_KEY, processors, PROP_KEY, ST_TRAFFIC_THROTTLING_PROP_KEY, ST_TRAFFIC_THROTTLING_PROP_VAL, TLS_PROP_KEY, TLS_REQUIRED_PROP_KEY, TLS_REQUIRED_PROP_VAL, TLS_USE_PROP_KEY, TLS_USE_PROP_VAL, TOTAL_BIN_LIMIT_PROP_VAL, TOTAL_PACKETS_LIMIT_PROP_VAL, TRAFFIC_THROTTLING_PROP_KEY, WATCHDOG_DELAY, WATCHDOG_PING_TYPE_KEY, WATCHDOG_TIMEOUT, watchdogDelay, watchdogPingType, watchdogTimeout, WHITE_CHAR_ACK_PROP_KEY, WHITE_CHAR_ACK_PROP_VAL, XMPP_ACK_PROP_KEY, XMPP_ACK_PROP_VAL
HOUR, INCOMING_FILTERS_PROP_KEY, INCOMING_FILTERS_PROP_VAL, MAX_QUEUE_SIZE_PROP_KEY, MAX_QUEUE_SIZE_PROP_VAL, maxInQueueSize, maxOutQueueSize, maxQueueSize, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, PACKET_DELIVERY_RETRY_COUNT_PROP_KEY, SCHEDULER_THREADS_PROP_KEY, SECOND
admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManager
ADMINS_PROP_KEY, AMP_CLASS_NAME, AMP_CLUST_CLASS_NAME, AUTH_DOMAIN_POOL_CLASS, AUTH_REPO_DOMAINS_PROP_KEY, AUTH_REPO_PARAMS_NODE, AUTH_REPO_POOL_CLASS, AUTH_REPO_URL_PROP_KEY, BOSH_CLUST_COMP_CLASS_NAME, BOSH_COMP_CLASS_NAME, C2S_CLUST_COMP_CLASS_NAME, C2S_COMP_CLASS_NAME, CL_COMP_CLASS_NAME, CLUSTER_CONECT, CLUSTER_CONTR_CLASS_NAME, CLUSTER_LISTEN, CLUSTER_MODE, CLUSTER_NODES, CLUSTER_NODES_PROP_KEY, COMP_PROT_CLASS_NAME, COMPONENT_ID_PROP_KEY, DEF_AMP_NAME, DEF_BOSH_NAME, DEF_C2S_NAME, DEF_CL_COMP_NAME, DEF_CLUST_CONTR_NAME, DEF_COMP_PROT_NAME, DEF_EVENTBUS_NAME, DEF_EXT_COMP_NAME, DEF_HOSTNAME_PROP_KEY, DEF_MONITOR_NAME, DEF_S2S_NAME, DEF_SM_NAME, DEF_SRECV_NAME, DEF_SSEND_NAME, DEF_STATS_NAME, DEF_VHOST_MAN_NAME, DEF_WS2S_NAME, DERBY_REPO_CLASS_PROP_VAL, DERBY_REPO_URL_PROP_VAL, DRUPAL_REPO_URL_PROP_VAL, DRUPALWP_REPO_CLASS_PROP_VAL, DUMMY_REPO_CLASS_PROP_VAL, EVENTBUS_CLASS_NAME, EXT_COMP_CLASS_NAME, GEN_ADMINS, GEN_AUTH_DB, GEN_AUTH_DB_URI, GEN_COMP_CLASS, GEN_COMP_NAME, GEN_CONF, GEN_CONFIG, GEN_CONFIG_ALL, GEN_CONFIG_COMP, GEN_CONFIG_CS, GEN_CONFIG_DEF, GEN_CONFIG_SM, GEN_DEBUG, GEN_DEBUG_PACKAGES, GEN_EXT_COMP, GEN_MAX_QUEUE_SIZE, GEN_SCRIPT_DIR, GEN_SM_PLUGINS, GEN_SREC_ADMINS, GEN_SREC_DB, GEN_SREC_DB_URI, GEN_TEST, GEN_TRUSTED, GEN_USER_DB, GEN_USER_DB_URI, GEN_USER_DB_URI_PROP_KEY, GEN_VIRT_HOSTS, HOSTNAMES_PROP_KEY, LIBRESOURCE_REPO_CLASS_PROP_VAL, LIBRESOURCE_REPO_URL_PROP_VAL, MONITOR_CLASS_NAME, MONITOR_CLUST_CLASS_NAME, MONITORING, MYSQL_REPO_CLASS_PROP_VAL, MYSQL_REPO_URL_PROP_VAL, PGSQL_REPO_CLASS_PROP_VAL, PGSQL_REPO_URL_PROP_VAL, ROUTER_COMP_CLASS_NAME, S2S_CLUST_COMP_CLASS_NAME, S2S_COMP_CLASS_NAME, SHARED_AUTH_REPO_PARAMS_PROP_KEY, SHARED_AUTH_REPO_PROP_KEY, SHARED_USER_REPO_PARAMS_PROP_KEY, SHARED_USER_REPO_PROP_KEY, SM_CLUST_COMP_CLASS_NAME, SM_COMP_CLASS_NAME, SRECV_COMP_CLASS_NAME, SSEND_COMP_CLASS_NAME, STANZA_WHITE_CHAR_ACK, STANZA_XMPP_ACK, STATS_CLASS_NAME, STRINGPREP_PROCESSOR, TIGASE_AUTH_REPO_CLASS_PROP_VAL, TIGASE_AUTH_REPO_URL_PROP_VAL, TIGASE_CUSTOM_AUTH_REPO_CLASS_PROP_VAL, TRUSTED_PROP_KEY, USER_DOMAIN_POOL_CLASS, USER_REPO_DOMAINS_PROP_KEY, USER_REPO_PARAMS_NODE, USER_REPO_POOL_CLASS, USER_REPO_POOL_SIZE, USER_REPO_POOL_SIZE_PROP_KEY, USER_REPO_URL_PROP_KEY, VHOST_MAN_CLASS_NAME, VHOST_MAN_CLUST_CLASS_NAME, WS2S_CLASS_NAME, WS2S_CLUST_CLASS_NAME, XML_REPO_CLASS_PROP_VAL, XML_REPO_URL_PROP_VAL, XMPP_STANZA_ACK
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
Constructor and Description |
---|
ClientConnectionManager() |
Modifier and Type | Method and Description |
---|---|
protected JID |
changeDataReceiver(Packet packet,
JID newAddress,
String command_sessionId,
XMPPIOService<Object> serv)
Method description
|
ClientTrustManagerFactory |
getClientTrustManagerFactory() |
Map<String,Object> |
getDefaults(Map<String,Object> params)
Returns default configuration settings for the component as a
Map with keys as configuration property IDs and values as the
configuration property values. |
protected int[] |
getDefPlainPorts()
Method description
|
protected int[] |
getDefSSLPorts()
Method description
|
String |
getDiscoCategoryType()
Method description
|
String |
getDiscoDescription()
Method description
|
protected long |
getMaxInactiveTime()
Method description
|
protected Integer |
getMaxQueueSize(int def)
Method description
|
SeeOtherHostIfc |
getSeeOtherHostInstance(String see_other_host_class)
Method retrieves object of particular class implementing
SeeOtherHostIfc |
protected XMPPIOService<Object> |
getXMPPIOServiceInstance()
Method description
|
int |
hashCodeForPacket(Packet packet)
This method decides how incoming packets are distributed among processing
threads.
|
protected boolean |
isAllowed(XMPPIOService<Object> serv,
String hostname) |
protected ReceiverTimeoutHandler |
newStartedHandler()
Method description
|
protected ReceiverTimeoutHandler |
newStoppedHandler()
Method description
|
protected String[] |
prepareSeeOtherHost(XMPPIOService<Object> serv,
String hostname,
BareJID see_other_host) |
protected String |
prepareStreamClose(XMPPIOService<Object> serv) |
protected String |
prepareStreamError(XMPPIOService<Object> serv,
List<Element> err_el) |
protected String[] |
prepareStreamError(XMPPIOService<Object> serv,
StreamError streamError,
String hostname) |
protected String |
prepareStreamOpen(XMPPIOService<Object> serv,
String id,
String hostname) |
protected void |
preprocessStreamFeatures(XMPPIOService<Object> serv,
Element elem_features) |
protected void |
processCommand(Packet packet)
Method description
|
void |
processPacket(Packet packet)
This is the main
Packet processing method. |
Queue<Packet> |
processSocketData(XMPPIOService<Object> serv) |
boolean |
processUndeliveredPacket(Packet packet,
Long stamp,
String errorMessage)
Processes undelivered packets
|
void |
reconnectionFailed(Map<String,Object> port_props) |
void |
serviceStarted(XMPPIOService<Object> service) |
boolean |
serviceStopped(XMPPIOService<Object> service) |
void |
setProperties(Map<String,Object> props)
Sets all configuration properties for the object.
|
protected void |
socketAccepted(XMPPIOService serv,
SocketType type) |
void |
start() |
void |
stop()
Method description
|
void |
tlsHandshakeCompleted(XMPPIOService<Object> serv) |
void |
xmppStreamClosed(XMPPIOService<Object> serv) |
String |
xmppStreamError(XMPPIOService<Object> serv,
List<Element> err_el) |
String[] |
xmppStreamOpened(XMPPIOService<Object> serv,
Map<String,String> attribs) |
addWaitingTask, checkHighThroughputProperty, checkTrafficLimits, connectWaitingTasks, countIOServices, doForAllServices, everyMinute, getDefTrafficThrottling, getParamsForPort, getServiceId, getServiceId, getStatistics, getUniqueId, getXMPPIOService, getXMPPIOService, initBindings, initializationCompleted, isHighThroughput, newWatchdog, packetsReady, processingInThreads, processingOutThreads, release, setName, setupWatchdogThread, updateConnectionDetails, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writePacketToSocket, writeRawData
addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, clearRegexRoutings, everyHour, everySecond, getRegexRoutings, isInRegexRoutings, newPacketId, processingThreads, processOutPacket, processPacket, removeRegexRouting, schedulerThreads, setMaxQueueSize, setParent
addComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setClusterController, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName
getDefHostName
getComponentId, getComponentInfo, getName, isInitializationComplete
protected static final String FORCE_REDIRECT_TO_KEY
protected RoutingsContainer routings
protected SeeOtherHostIfc see_other_host_strategy
protected JID changeDataReceiver(Packet packet, JID newAddress, String command_sessionId, XMPPIOService<Object> serv)
packet
- newAddress
- command_sessionId
- serv
- JID
public ClientTrustManagerFactory getClientTrustManagerFactory()
protected int[] getDefPlainPorts()
ConnectionManager
getDefPlainPorts
in class ConnectionManager<XMPPIOService<Object>>
int[]
protected int[] getDefSSLPorts()
ConnectionManager
getDefSSLPorts
in class ConnectionManager<XMPPIOService<Object>>
int[]
public Map<String,Object> getDefaults(Map<String,Object> params)
AbstractMessageReceiver
Map
with keys as configuration property IDs and values as the
configuration property values. All the default parameters returned from
this method are later passed to the setProperties(...)
method.
Some of them may have changed value if they have been overwritten in the
server configuration. The configuration property value can be of any of the
basic types: int
, long
, boolean
,
String
.getDefaults
in interface Configurable
getDefaults
in class ConnectionManager<XMPPIOService<Object>>
params
- is a Map
with some initial properties set for the
starting up server. These parameters can be used as a hints to
generate component's default configuration.Map
with the component default configuration.public String getDiscoCategoryType()
BasicComponent
getDiscoCategoryType
in class BasicComponent
String
public String getDiscoDescription()
BasicComponent
getDiscoDescription
in class BasicComponent
String
protected long getMaxInactiveTime()
Let's assume user should send something at least once every 24 hours....
getMaxInactiveTime
in class ConnectionManager<XMPPIOService<Object>>
long
protected Integer getMaxQueueSize(int def)
AbstractMessageReceiver
getMaxQueueSize
in class AbstractMessageReceiver
Integer
public SeeOtherHostIfc getSeeOtherHostInstance(String see_other_host_class)
SeeOtherHostIfc
see_other_host_class
- class of SeeOtherHostIfc
implementationSeeOtherHostIfc
protected XMPPIOService<Object> getXMPPIOServiceInstance()
ConnectionManager
getXMPPIOServiceInstance
in class ConnectionManager<XMPPIOService<Object>>
IO
public int hashCodeForPacket(Packet packet)
AbstractMessageReceiver
int threadNo = Math.abs(hashCodeForPacket(packet) % N);For a PubSub component, for example, a better packets distribution would be based on the PubSub channel name, for SM a better distribution is based on the destination address, etc....
hashCodeForPacket
in class ConnectionManager<XMPPIOService<Object>>
packet
- is a Packet
which needs to be processed by some
thread.protected boolean isAllowed(XMPPIOService<Object> serv, String hostname)
protected ReceiverTimeoutHandler newStartedHandler()
ReceiverTimeoutHandler
protected ReceiverTimeoutHandler newStoppedHandler()
ReceiverTimeoutHandler
protected String[] prepareSeeOtherHost(XMPPIOService<Object> serv, String hostname, BareJID see_other_host)
protected String prepareStreamClose(XMPPIOService<Object> serv)
protected String prepareStreamError(XMPPIOService<Object> serv, List<Element> err_el)
protected String[] prepareStreamError(XMPPIOService<Object> serv, StreamError streamError, String hostname)
protected String prepareStreamOpen(XMPPIOService<Object> serv, String id, String hostname)
protected void preprocessStreamFeatures(XMPPIOService<Object> serv, Element elem_features)
protected void processCommand(Packet packet)
packet
- public void processPacket(Packet packet)
AbstractMessageReceiver
Packet
processing method. It is called
concurrently from many threads so implementing it in thread save manner is
essential. The method is called for each packet addressed to the component.
Packet
instance may be processed by different
parts of the server, different components or plugins at the same time.
Therefore this is very important to tread the Packet
instance
as unmodifiable object.
addOutPacket(Packet)
method.processPacket
in class ConnectionManager<XMPPIOService<Object>>
packet
- is an instance of the Packet
class passed for
processing.public Queue<Packet> processSocketData(XMPPIOService<Object> serv)
processSocketData
in class ConnectionManager<XMPPIOService<Object>>
public boolean processUndeliveredPacket(Packet packet, Long stamp, String errorMessage)
ConnectionManager
processUndeliveredPacket
in class ConnectionManager<XMPPIOService<Object>>
stamp
- - timestamp when packet was received to be written to XMPPIOServicepublic void reconnectionFailed(Map<String,Object> port_props)
reconnectionFailed
in class ConnectionManager<XMPPIOService<Object>>
public void serviceStarted(XMPPIOService<Object> service)
serviceStarted
in class ConnectionManager<XMPPIOService<Object>>
public boolean serviceStopped(XMPPIOService<Object> service)
serviceStopped
in interface IOServiceListener<XMPPIOService<Object>>
serviceStopped
in class ConnectionManager<XMPPIOService<Object>>
public void setProperties(Map<String,Object> props) throws ConfigurationException
Configurable
setProperties
in interface Configurable
setProperties
in class ConnectionManager<XMPPIOService<Object>>
props
- Map
with the configurationConfigurationException
- - if setting configuration will
fail which will make it unable
to workprotected void socketAccepted(XMPPIOService serv, SocketType type)
socketAccepted
in class ConnectionManager<XMPPIOService<Object>>
public void start()
start
in interface MessageReceiver
start
in class AbstractMessageReceiver
public void stop()
AbstractMessageReceiver
stop
in class ConnectionManager<XMPPIOService<Object>>
public void tlsHandshakeCompleted(XMPPIOService<Object> serv)
public void xmppStreamClosed(XMPPIOService<Object> serv)
public String xmppStreamError(XMPPIOService<Object> serv, List<Element> err_el)
xmppStreamError
in interface XMPPIOServiceListener<XMPPIOService<Object>>
xmppStreamError
in class ConnectionManager<XMPPIOService<Object>>
Copyright © 2018 "Tigase, Inc.". All rights reserved.