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_VALHOUR, 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, SECONDadmins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManagerADMINS_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_ACKCMD_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, writeRawDataaddOutPacket, 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, setParentaddComponentDomain, 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, updateServiceEntityclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetNamegetDefHostNamegetComponentId, getComponentInfo, getName, isInitializationCompleteprotected 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 - JIDpublic ClientTrustManagerFactory getClientTrustManagerFactory()
protected int[] getDefPlainPorts()
ConnectionManagergetDefPlainPorts in class ConnectionManager<XMPPIOService<Object>>int[]protected int[] getDefSSLPorts()
ConnectionManagergetDefSSLPorts in class ConnectionManager<XMPPIOService<Object>>int[]public Map<String,Object> getDefaults(Map<String,Object> params)
AbstractMessageReceiverMap 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 ConfigurablegetDefaults 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()
BasicComponentgetDiscoCategoryType in class BasicComponentStringpublic String getDiscoDescription()
BasicComponentgetDiscoDescription in class BasicComponentStringprotected long getMaxInactiveTime()
Let's assume user should send something at least once every 24 hours....
getMaxInactiveTime in class ConnectionManager<XMPPIOService<Object>>longprotected Integer getMaxQueueSize(int def)
AbstractMessageReceivergetMaxQueueSize in class AbstractMessageReceiverIntegerpublic SeeOtherHostIfc getSeeOtherHostInstance(String see_other_host_class)
SeeOtherHostIfcsee_other_host_class - class of SeeOtherHostIfc implementationSeeOtherHostIfcprotected XMPPIOService<Object> getXMPPIOServiceInstance()
ConnectionManagergetXMPPIOServiceInstance in class ConnectionManager<XMPPIOService<Object>>IOpublic int hashCodeForPacket(Packet packet)
AbstractMessageReceiverint 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()
ReceiverTimeoutHandlerprotected ReceiverTimeoutHandler newStoppedHandler()
ReceiverTimeoutHandlerprotected 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)
AbstractMessageReceiverPacket 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)
ConnectionManagerprocessUndeliveredPacket 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
ConfigurablesetProperties in interface ConfigurablesetProperties 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 MessageReceiverstart in class AbstractMessageReceiverpublic void stop()
AbstractMessageReceiverstop 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.