Package tigase.server.bosh
Class BoshConnectionManager
- java.lang.Object
-
- tigase.server.BasicComponent
-
- tigase.server.AbstractMessageReceiver
-
- tigase.server.ConnectionManager<XMPPIOService<java.lang.Object>>
-
- tigase.server.xmppclient.ClientConnectionManager
-
- tigase.server.bosh.BoshConnectionManager
-
- All Implemented Interfaces:
ClusteredComponentIfc
,Configurable
,XMPPService
,ConfigurationChangedAware
,Initializable
,RegistrarBean
,IOServiceListener<XMPPIOService<java.lang.Object>>
,BoshIOService.ConfigProvider
,BoshSessionTaskHandler
,MessageReceiver
,PacketWriterWithTimeout
,ServerComponent
,StatisticsContainer
,StatisticsContainerIfc
,VHostListener
,XMPPIOServiceListener<XMPPIOService<java.lang.Object>>
- Direct Known Subclasses:
BoshConnectionClustered
@Bean(name="bosh", parent=Kernel.class, active=true) @ConfigType({DefaultMode,ConnectionManagersMode}) @ClusterModeRequired(active=false) public class BoshConnectionManager extends ClientConnectionManager implements BoshSessionTaskHandler, BoshIOService.ConfigProvider
Describe class BoshConnectionManager here.
Created: Sat Jun 2 12:24:29 2007- Author:
- Artur Hefczyc
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
BoshConnectionManager.BOSH_OPERATION_TYPE
-
Nested classes/interfaces inherited from class tigase.server.ConnectionManager
ConnectionManager.LIMIT_ACTION, ConnectionManager.PortConfigBean, ConnectionManager.PortsConfigBean, ConnectionManager.SecPortConfigBean, ConnectionManager.Watchdog, ConnectionManager.WATCHDOG_PING_TYPE
-
Nested classes/interfaces inherited from class tigase.server.BasicComponent
BasicComponent.ServerInfoVHostItemExtension
-
Nested classes/interfaces inherited from interface tigase.server.PacketWriterWithTimeout
PacketWriterWithTimeout.Handler
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
BOSH_CLOSE_CONNECTION_PROP_KEY
static java.lang.String
BOSH_EXTRA_HEADERS_FILE_PROP_KEY
static java.lang.String
BOSH_EXTRA_HEADERS_FILE_PROP_VAL
static java.lang.String
CLIENT_ACCESS_POLICY_FILE_PROP_KEY
static java.lang.String
CLIENT_ACCESS_POLICY_FILE_PROP_VAL
protected java.util.Map<java.util.UUID,BoshSession>
sessions
-
Fields inherited from class tigase.server.xmppclient.ClientConnectionManager
eventBus, FORCE_REDIRECT_TO_KEY, routings, see_other_host_strategy
-
Fields inherited from class tigase.server.ConnectionManager
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_ST_PROP_VAL, 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_VAL
-
Fields inherited from class tigase.server.AbstractMessageReceiver
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
-
Fields inherited from class tigase.server.BasicComponent
admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, scriptEngineManager, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManager
-
Fields inherited from interface tigase.conf.Configurable
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_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_ACK
-
Fields inherited from interface tigase.disco.XMPPService
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
-
-
Constructor Summary
Constructors Constructor Description BoshConnectionManager()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addOutPackets(java.util.Queue<Packet> out_results, BoshSession bs)
Method adds packets to the output queue stamping it with the appropriateBoshSession
databoolean
addOutStreamClosed(Packet packet, BoshSession bs, boolean withTimeout)
boolean
addOutStreamOpen(Packet packet, BoshSession bs)
void
cancelSendQueueTask(BoshSendQueueTask tt)
void
cancelTask(BoshTask tt)
protected JID
changeDataReceiver(Packet packet, JID newAddress, java.lang.String command_sessionId, XMPPIOService<java.lang.Object> serv)
protected boolean
enableServiceConnectedTimeout(XMPPIOService<java.lang.Object> service)
protected BoshSession
getBoshSession(JID jid)
Method retrievesBoshSession
related to the particular user addressjava.lang.String
getClientAccessPolicy()
protected int[]
getDefPlainPorts()
protected int[]
getDefSSLPorts()
java.lang.String
getDiscoCategoryType()
Method returns component category type used for service discovery responses.java.lang.String
getDiscoDescription()
Method returns description used for service discovery responses.java.lang.String
getExtraHeaders()
JID
getJidForBoshSession(BoshSession bs)
Returns full jid of passed BoshSession instanceprotected long
getMaxInactiveTime()
MethodgetMaxInactiveTime
returns max keep-alive time for inactive connection.Element
getSeeOtherHostError(Packet packet, BareJID destination)
BareJID
getSeeOtherHostForJID(Packet packet, BareJID fromJID, SeeOtherHostIfc.Phase ph)
void
getStatistics(StatisticsList list)
Method returns component statistics.protected BoshIOService
getXMPPIOServiceInstance()
void
initBindings(javax.script.Bindings binds)
Initialize a mapping of key/value pairs which can be used in scripts loaded by the servervoid
initialize()
Method will be called, when bean will be created, configured and ready to use.boolean
isCloseConnections()
protected ReceiverTimeoutHandler
newStartedHandler()
protected java.util.Map<java.lang.String,java.lang.String>
preBindSession(java.util.Map<java.lang.String,java.lang.String> attr)
protected void
processCommand(Packet packet)
void
processPacket(Packet packet)
This is the mainPacket
processing method.java.util.Queue<Packet>
processSocketData(XMPPIOService<java.lang.Object> srv)
BoshSendQueueTask
scheduleSendQueueTask(BoshSession bs, long delay)
BoshTask
scheduleTask(BoshSession bs, long delay)
void
serviceStarted(XMPPIOService<java.lang.Object> service)
boolean
serviceStopped(XMPPIOService<java.lang.Object> xmppService)
void
setClientAccessPolicyFile(java.lang.String clientAccessPolicyFile)
void
setExtraHeadersFile(java.lang.String extraHeadersFile)
void
setSidLoggerLevel(java.lang.String loggerLevel)
protected static void
setupSidlogger(java.util.logging.Level lvl)
protected void
setupWatchdogThread()
protected boolean
writePacketToSocket(Packet packet)
void
writeRawData(BoshIOService ios, java.lang.String data)
void
xmppStreamClosed(XMPPIOService<java.lang.Object> serv)
java.lang.String[]
xmppStreamOpened(XMPPIOService<java.lang.Object> serv, java.util.Map<java.lang.String,java.lang.String> attribs)
-
Methods inherited from class tigase.server.xmppclient.ClientConnectionManager
getClientTrustManagerFactory, getMaxQueueSize, getSeeOtherHostInstance, hashCodeForPacket, isAllowed, newStoppedHandler, nodeShutdown, prepareSeeOtherHost, prepareStreamClose, prepareStreamError, prepareStreamError, prepareStreamOpen, preprocessStreamFeatures, processUndeliveredPacket, reconnectionFailed, schedulerThreads, setRegistrationThrottling, setSee_other_host_strategy, socketAccepted, start, stop, tlsHandshakeCompleted, xmppStreamError
-
Methods inherited from class tigase.server.ConnectionManager
addWaitingTask, beanConfigurationChanged, checkHighThroughputProperty, checkTrafficLimits, connectWaitingTasks, countIOServices, doForAllServices, everyMinute, getDefPorts, getDefTrafficThrottling, getFlashCrossDomainPolicy, getNet_buffer_limit, getParamsForPort, getPortsConfigBean, getServiceId, getServiceId, getTrafficThrottling, getUniqueId, getXMPPIOService, getXMPPIOService, initializationCompleted, isHighThroughput, newWatchdog, packetsReady, processingInThreads, processingOutThreads, register, release, releaseListener, serviceConnected, setFlashCrossDomainPolicyFile, setName, setNet_buffer_limit, setProcessors, setTrafficThrottling, startService, unregister, updateConnectionDetails, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writeRawData
-
Methods inherited from class tigase.server.AbstractMessageReceiver
addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, clearRegexRoutings, everyHour, everySecond, getRegexRoutings, getResourceForPacketWithTimeout, isInRegexRoutings, newPacketId, processOutPacket, processPacket, removeRegexRouting, setCompId, setIncoming_filters, setOutgoing_filters, setParent, setSchedulerThreads_size, updateFiltersName
-
Methods inherited from class tigase.server.BasicComponent
addComponentDomain, 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, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processScriptCommand, reloadScripts, removeComponentDomain, removeServiceDiscoveryItem, setAdmins, setClusterController, setCommandsACL, setProperties, setScriptsBaseDir, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface tigase.server.bosh.BoshSessionTaskHandler
getDefHostName, processUndeliveredPacket
-
Methods inherited from interface tigase.server.MessageReceiver
getDefHostName
-
Methods inherited from interface tigase.server.ServerComponent
getComponentId, getComponentInfo, getName, isInitializationComplete
-
Methods inherited from interface tigase.stats.StatisticsContainerIfc
getName
-
-
-
-
Field Detail
-
BOSH_CLOSE_CONNECTION_PROP_KEY
public static final java.lang.String BOSH_CLOSE_CONNECTION_PROP_KEY
- See Also:
- Constant Field Values
-
BOSH_EXTRA_HEADERS_FILE_PROP_KEY
public static final java.lang.String BOSH_EXTRA_HEADERS_FILE_PROP_KEY
- See Also:
- Constant Field Values
-
BOSH_EXTRA_HEADERS_FILE_PROP_VAL
public static final java.lang.String BOSH_EXTRA_HEADERS_FILE_PROP_VAL
- See Also:
- Constant Field Values
-
CLIENT_ACCESS_POLICY_FILE_PROP_KEY
public static final java.lang.String CLIENT_ACCESS_POLICY_FILE_PROP_KEY
- See Also:
- Constant Field Values
-
CLIENT_ACCESS_POLICY_FILE_PROP_VAL
public static final java.lang.String CLIENT_ACCESS_POLICY_FILE_PROP_VAL
- See Also:
- Constant Field Values
-
sessions
protected final java.util.Map<java.util.UUID,BoshSession> sessions
-
-
Method Detail
-
setupSidlogger
protected static void setupSidlogger(java.util.logging.Level lvl)
-
addOutStreamClosed
public boolean addOutStreamClosed(Packet packet, BoshSession bs, boolean withTimeout)
- Specified by:
addOutStreamClosed
in interfaceBoshSessionTaskHandler
-
addOutStreamOpen
public boolean addOutStreamOpen(Packet packet, BoshSession bs)
- Specified by:
addOutStreamOpen
in interfaceBoshSessionTaskHandler
-
cancelSendQueueTask
public void cancelSendQueueTask(BoshSendQueueTask tt)
- Specified by:
cancelSendQueueTask
in interfaceBoshSessionTaskHandler
-
cancelTask
public void cancelTask(BoshTask tt)
- Specified by:
cancelTask
in interfaceBoshSessionTaskHandler
-
enableServiceConnectedTimeout
protected boolean enableServiceConnectedTimeout(XMPPIOService<java.lang.Object> service)
- Overrides:
enableServiceConnectedTimeout
in classConnectionManager<XMPPIOService<java.lang.Object>>
-
processPacket
public void processPacket(Packet packet)
Description copied from class:AbstractMessageReceiver
This is the mainPacket
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.
Please note, thePacket
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 thePacket
instance as unmodifiable object.
Processing in this method is asynchronous, therefore there is no result value. If there are some 'result' packets generated during processing, they should be passed back usingaddOutPacket(Packet)
method.- Overrides:
processPacket
in classClientConnectionManager
- Parameters:
packet
- is an instance of thePacket
class passed for processing.
-
processSocketData
public java.util.Queue<Packet> processSocketData(XMPPIOService<java.lang.Object> srv)
- Overrides:
processSocketData
in classClientConnectionManager
-
scheduleSendQueueTask
public BoshSendQueueTask scheduleSendQueueTask(BoshSession bs, long delay)
- Specified by:
scheduleSendQueueTask
in interfaceBoshSessionTaskHandler
-
scheduleTask
public BoshTask scheduleTask(BoshSession bs, long delay)
- Specified by:
scheduleTask
in interfaceBoshSessionTaskHandler
-
serviceStarted
public void serviceStarted(XMPPIOService<java.lang.Object> service)
- Overrides:
serviceStarted
in classClientConnectionManager
-
serviceStopped
public boolean serviceStopped(XMPPIOService<java.lang.Object> xmppService)
- Specified by:
serviceStopped
in interfaceIOServiceListener<XMPPIOService<java.lang.Object>>
- Overrides:
serviceStopped
in classClientConnectionManager
-
writeRawData
public void writeRawData(BoshIOService ios, java.lang.String data)
- Specified by:
writeRawData
in interfaceBoshSessionTaskHandler
-
xmppStreamClosed
public void xmppStreamClosed(XMPPIOService<java.lang.Object> serv)
- Specified by:
xmppStreamClosed
in interfaceXMPPIOServiceListener<XMPPIOService<java.lang.Object>>
- Overrides:
xmppStreamClosed
in classClientConnectionManager
-
xmppStreamOpened
public java.lang.String[] xmppStreamOpened(XMPPIOService<java.lang.Object> serv, java.util.Map<java.lang.String,java.lang.String> attribs)
- Specified by:
xmppStreamOpened
in interfaceXMPPIOServiceListener<XMPPIOService<java.lang.Object>>
- Overrides:
xmppStreamOpened
in classClientConnectionManager
-
getDiscoCategoryType
public java.lang.String getDiscoCategoryType()
Description copied from class:BasicComponent
Method returns component category type used for service discovery responses.- Overrides:
getDiscoCategoryType
in classClientConnectionManager
- Returns:
- category type of a component
-
getDiscoDescription
public java.lang.String getDiscoDescription()
Description copied from class:BasicComponent
Method returns description used for service discovery responses.- Overrides:
getDiscoDescription
in classClientConnectionManager
- Returns:
- description of a component
-
getJidForBoshSession
public JID getJidForBoshSession(BoshSession bs)
Returns full jid of passed BoshSession instance- Specified by:
getJidForBoshSession
in interfaceBoshSessionTaskHandler
- Parameters:
bs
-BoshSession
for which JID should be retrieved- Returns:
- JID address related to particular
BoshSession
-
getSeeOtherHostError
public Element getSeeOtherHostError(Packet packet, BareJID destination)
- Specified by:
getSeeOtherHostError
in interfaceBoshSessionTaskHandler
-
getSeeOtherHostForJID
public BareJID getSeeOtherHostForJID(Packet packet, BareJID fromJID, SeeOtherHostIfc.Phase ph)
- Specified by:
getSeeOtherHostForJID
in interfaceBoshSessionTaskHandler
-
getStatistics
public void getStatistics(StatisticsList list)
Description copied from class:AbstractMessageReceiver
Method returns component statistics. Please note, the method can be called every second by the server monitoring system therefore no extensive or lengthy calculations are allowed. If there are some statistics requiring lengthy operations like database access they must haveLevel.FINEST
assigned and must be put inside the level guard to prevent generating them by the system monitor. The system monitor does not collectFINEST
statistics.
Level guard code looks like the example below:
if (list.checkLevel(Level.FINEST)) { // Some CPU intensive calculations or lengthy operations list.add(getName(), "Statistic description", stat_value, Level.FINEST); }
This way you make sure your extensive operation is not executed every second by the monitoring system and does not affect the server performance.- Specified by:
getStatistics
in interfaceStatisticsContainerIfc
- Overrides:
getStatistics
in classConnectionManager<XMPPIOService<java.lang.Object>>
- Parameters:
list
- is aStatistcsList
where all statistics are stored.
-
setSidLoggerLevel
public void setSidLoggerLevel(java.lang.String loggerLevel)
-
initBindings
public void initBindings(javax.script.Bindings binds)
Description copied from class:BasicComponent
Initialize a mapping of key/value pairs which can be used in scripts loaded by the server- Overrides:
initBindings
in classConnectionManager<XMPPIOService<java.lang.Object>>
- Parameters:
binds
- A mapping of key/value pairs, all of whose keys are Strings.
-
initialize
public void initialize()
Description copied from interface:Initializable
Method will be called, when bean will be created, configured and ready to use.- Specified by:
initialize
in interfaceInitializable
- Overrides:
initialize
in classBasicComponent
-
isCloseConnections
public boolean isCloseConnections()
- Specified by:
isCloseConnections
in interfaceBoshIOService.ConfigProvider
-
getClientAccessPolicy
public java.lang.String getClientAccessPolicy()
- Specified by:
getClientAccessPolicy
in interfaceBoshIOService.ConfigProvider
-
setClientAccessPolicyFile
public void setClientAccessPolicyFile(java.lang.String clientAccessPolicyFile)
-
getExtraHeaders
public java.lang.String getExtraHeaders()
- Specified by:
getExtraHeaders
in interfaceBoshIOService.ConfigProvider
-
setExtraHeadersFile
public void setExtraHeadersFile(java.lang.String extraHeadersFile)
-
setupWatchdogThread
protected void setupWatchdogThread()
- Overrides:
setupWatchdogThread
in classConnectionManager<XMPPIOService<java.lang.Object>>
-
preBindSession
protected java.util.Map<java.lang.String,java.lang.String> preBindSession(java.util.Map<java.lang.String,java.lang.String> attr)
-
addOutPackets
protected void addOutPackets(java.util.Queue<Packet> out_results, BoshSession bs)
Method adds packets to the output queue stamping it with the appropriateBoshSession
data- Parameters:
out_results
- collection ofPacket
objects to be added to queuebs
- relatedBoshSession
-
changeDataReceiver
protected JID changeDataReceiver(Packet packet, JID newAddress, java.lang.String command_sessionId, XMPPIOService<java.lang.Object> serv)
- Overrides:
changeDataReceiver
in classClientConnectionManager
-
newStartedHandler
protected ReceiverTimeoutHandler newStartedHandler()
- Overrides:
newStartedHandler
in classClientConnectionManager
-
processCommand
protected void processCommand(Packet packet)
- Overrides:
processCommand
in classClientConnectionManager
-
writePacketToSocket
protected boolean writePacketToSocket(Packet packet)
- Overrides:
writePacketToSocket
in classConnectionManager<XMPPIOService<java.lang.Object>>
-
getBoshSession
protected BoshSession getBoshSession(JID jid)
Method retrievesBoshSession
related to the particular user address- Parameters:
jid
- address for whichBoshSession
should be returned- Returns:
- a value of
BoshSession
-
getDefPlainPorts
protected int[] getDefPlainPorts()
- Overrides:
getDefPlainPorts
in classClientConnectionManager
-
getDefSSLPorts
protected int[] getDefSSLPorts()
- Overrides:
getDefSSLPorts
in classClientConnectionManager
-
getMaxInactiveTime
protected long getMaxInactiveTime()
MethodgetMaxInactiveTime
returns max keep-alive time for inactive connection. For Bosh it does not make sense to keep the idle connection longer than 10 minutes.- Overrides:
getMaxInactiveTime
in classClientConnectionManager
- Returns:
- a
long
value
-
getXMPPIOServiceInstance
protected BoshIOService getXMPPIOServiceInstance()
- Overrides:
getXMPPIOServiceInstance
in classClientConnectionManager
-
-