@Bean(name="c2s", parent=Kernel.class, active=true) @ConfigType(value={DefaultMode,ConnectionManagersMode}) @ClusterModeRequired(active=false) @ConfigAliases(value=@ConfigAlias(field="delayPortListening",alias="client-port-delay-listening")) public class ClientConnectionManager extends ConnectionManager<XMPPIOService<Object>>
ConnectionManager.LIMIT_ACTION, ConnectionManager.PortConfigBean, ConnectionManager.PortsConfigBean, ConnectionManager.SecPortConfigBean, ConnectionManager.Watchdog, ConnectionManager.WATCHDOG_PING_TYPEBasicComponent.ServerInfoVHostItemExtensionPacketWriterWithTimeout.Handler| Modifier and Type | Field and Description |
|---|---|
protected EventBus |
eventBus |
protected static String |
FORCE_REDIRECT_TO_KEY |
protected RoutingsContainer.RoutingComputer |
routings |
protected SeeOtherHostIfc |
see_other_host_strategy |
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, kernel, 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_NEW_CONNECTIONS_THROTTLING_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, serviceConnectedTimeout, ST_TRAFFIC_THROTTLING_PROP_KEY, ST_TRAFFIC_THROTTLING_PROP_VAL, TOTAL_BIN_LIMIT_PROP_VAL, TOTAL_PACKETS_LIMIT_PROP_VAL, TRAFFIC_THROTTLING_PROP_KEY, trafficThrottling, 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, scriptEngineManager, 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_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, 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) |
ClientTrustManagerFactory |
getClientTrustManagerFactory() |
protected int[] |
getDefPlainPorts() |
protected int[] |
getDefSSLPorts() |
String |
getDiscoCategoryType()
Method returns component category type used for service discovery responses.
|
String |
getDiscoDescription()
Method returns description used for service discovery responses.
|
protected long |
getMaxInactiveTime()
Let's assume user should send something at least once every 24 hours.... |
protected Integer |
getMaxQueueSize(int def) |
SeeOtherHostIfc |
getSeeOtherHostInstance(String see_other_host_class)
Method retrieves object of particular class implementing
SeeOtherHostIfc |
protected XMPPIOService<Object> |
getXMPPIOServiceInstance() |
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() |
protected ReceiverTimeoutHandler |
newStoppedHandler() |
protected void |
nodeShutdown(ShutdownEvent event) |
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) |
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) |
int |
schedulerThreads()
Method returns default number of threads used by SchedulerExecutorService
|
void |
serviceStarted(XMPPIOService<Object> service) |
boolean |
serviceStopped(XMPPIOService<Object> service) |
void |
setRegistrationThrottling(RegistrationThrottling throttling) |
void |
setSee_other_host_strategy(SeeOtherHostIfc see_other_host_strategy) |
protected void |
socketAccepted(XMPPIOService serv,
SocketType type) |
void |
start() |
void |
stop() |
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, beanConfigurationChanged, checkHighThroughputProperty, checkTrafficLimits, connectWaitingTasks, countIOServices, doForAllServices, enableServiceConnectedTimeout, everyMinute, getDefPorts, getDefTrafficThrottling, getFlashCrossDomainPolicy, getNet_buffer_limit, getParamsForPort, getServiceId, getServiceId, getStatistics, getTrafficThrottling, getUniqueId, getXMPPIOService, getXMPPIOService, initBindings, initializationCompleted, isHighThroughput, newWatchdog, packetsReady, processingInThreads, processingOutThreads, register, release, releaseListener, serviceConnected, setFlashCrossDomainPolicyFile, setName, setNet_buffer_limit, setProcessors, setTrafficThrottling, setupWatchdogThread, startService, unregister, updateConnectionDetails, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writePacketToSocket, writeRawDataaddOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, clearRegexRoutings, everyHour, everySecond, getRegexRoutings, getResourceForPacketWithTimeout, isInRegexRoutings, newPacketId, processOutPacket, processPacket, removeRegexRouting, setCompId, setIncomingFilters, setOutogingFilters, setParent, setSchedulerThreads_sizeaddComponentDomain, canCallCommand, canCallCommand, checkCommandAcl, checkCommandAcl, createScriptEngineManager, getComponentId, getComponentInfo, getDefaults, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoExtensionsForm, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getServiceEntityCaps, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initialize, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setAdmins, setClusterController, setCommandsACL, setProperties, setScriptsBaseDir, 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
@Inject protected RoutingsContainer.RoutingComputer routings
@Inject(nullAllowed=true) protected SeeOtherHostIfc see_other_host_strategy
public int hashCodeForPacket(Packet packet)
AbstractMessageReceiverint threadNo = Math.abs(hashCodeForPacket(packet) % N);
hashCodeForPacket in class ConnectionManager<XMPPIOService<Object>>packet - is a Packet which needs to be processed by some thread.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 setRegistrationThrottling(RegistrationThrottling throttling)
public void start()
start in interface MessageReceiverstart in class ConnectionManager<XMPPIOService<Object>>public void stop()
stop in class ConnectionManager<XMPPIOService<Object>>public void tlsHandshakeCompleted(XMPPIOService<Object> serv)
public void xmppStreamClosed(XMPPIOService<Object> serv)
public String[] xmppStreamOpened(XMPPIOService<Object> serv, Map<String,String> attribs)
public String xmppStreamError(XMPPIOService<Object> serv, List<Element> err_el)
xmppStreamError in interface XMPPIOServiceListener<XMPPIOService<Object>>xmppStreamError in class ConnectionManager<XMPPIOService<Object>>public String getDiscoCategoryType()
BasicComponentgetDiscoCategoryType in class BasicComponentpublic String getDiscoDescription()
BasicComponentgetDiscoDescription in class BasicComponentpublic SeeOtherHostIfc getSeeOtherHostInstance(String see_other_host_class)
SeeOtherHostIfcsee_other_host_class - class of SeeOtherHostIfc implementationSeeOtherHostIfcpublic void setSee_other_host_strategy(SeeOtherHostIfc see_other_host_strategy)
public int schedulerThreads()
AbstractMessageReceiverschedulerThreads in class AbstractMessageReceiverintpublic ClientTrustManagerFactory getClientTrustManagerFactory()
protected JID changeDataReceiver(Packet packet, JID newAddress, String command_sessionId, XMPPIOService<Object> serv)
protected boolean isAllowed(XMPPIOService<Object> serv, String hostname)
protected ReceiverTimeoutHandler newStartedHandler()
protected ReceiverTimeoutHandler newStoppedHandler()
@HandleEvent protected void nodeShutdown(ShutdownEvent event)
protected void processCommand(Packet packet)
protected int[] getDefPlainPorts()
getDefPlainPorts in class ConnectionManager<XMPPIOService<Object>>protected int[] getDefSSLPorts()
getDefSSLPorts in class ConnectionManager<XMPPIOService<Object>>protected long getMaxInactiveTime()
getMaxInactiveTime in class ConnectionManager<XMPPIOService<Object>>protected Integer getMaxQueueSize(int def)
getMaxQueueSize in class AbstractMessageReceiverprotected XMPPIOService<Object> getXMPPIOServiceInstance()
getXMPPIOServiceInstance in class ConnectionManager<XMPPIOService<Object>>protected String prepareStreamClose(XMPPIOService<Object> serv)
protected String prepareStreamOpen(XMPPIOService<Object> serv, String id, String hostname)
protected String prepareStreamError(XMPPIOService<Object> serv, List<Element> err_el)
protected String[] prepareStreamError(XMPPIOService<Object> serv, StreamError streamError, String hostname)
protected String[] prepareSeeOtherHost(XMPPIOService<Object> serv, String hostname, BareJID see_other_host)
protected void preprocessStreamFeatures(XMPPIOService<Object> serv, Element elem_features)
protected void socketAccepted(XMPPIOService serv, SocketType type)
socketAccepted in class ConnectionManager<XMPPIOService<Object>>Copyright © 2004–2021 "Tigase, Inc.". All rights reserved.