public class SessionManager extends AbstractMessageReceiver implements Configurable, SessionManagerHandler, OnlineJidsReporter
Modifier and Type | Class and Description |
---|---|
protected class |
SessionManager.WriterQueue<E extends Packet>
Class description
|
Modifier and Type | Field and Description |
---|---|
protected static String |
ADMIN_COMMAND_NODE
Field description
|
protected ConcurrentHashMap<tigase.xmpp.JID,XMPPResourceConnection> |
connectionsByFrom
A Map with connectionID as a key and an object with all the user connection
data as a value
|
protected Queue<Packet> |
packetWriterQueue
Field description
|
protected ConcurrentHashMap<tigase.xmpp.BareJID,XMPPSession> |
sessionsByNodeId
A Map with bare user JID as a key and a user session object as a value.
|
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, SCHEDULER_THREADS_PROP_KEY, SECOND
admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, 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_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, 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
COMMIT_HANDLER_KEY
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
Constructor and Description |
---|
SessionManager() |
Modifier and Type | Method and Description |
---|---|
boolean |
addOutPacket(Packet packet)
Method description
|
protected void |
addOutPackets(Packet packet,
XMPPResourceConnection conn,
Queue<Packet> results)
Method description
|
XMPPImplIfc |
addPlugin(String plug_id,
String conc)
Method description
|
protected boolean |
addTrusted(tigase.xmpp.JID jid)
Method description
|
protected void |
closeConnection(XMPPResourceConnection connection,
tigase.xmpp.JID connectionId,
String userId,
boolean closeOnly)
Method description
|
protected void |
closeSession(XMPPResourceConnection conn,
boolean closeOnly)
Method description
|
boolean |
containsJid(tigase.xmpp.BareJID jid)
The method checks whether the given JID is known to the installation,
either user connected to local machine or any of the cluster nodes.
|
boolean |
containsJidLocally(tigase.xmpp.BareJID jid)
The method checks whether the given JID is known to local cluster node
as connected user.
|
boolean |
containsJidLocally(tigase.xmpp.JID jid)
The method checks whether the given JID is known to local cluster node
as connected user.
|
protected XMPPResourceConnection |
createUserSession(tigase.xmpp.JID conn_id,
String domain)
Method description
|
protected boolean |
delTrusted(tigase.xmpp.JID jid)
Method description
|
void |
everyMinute()
Utility method executed precisely every minute.
|
protected boolean |
fastAddOutPacket(Packet packet)
Method description
|
tigase.xmpp.JID[] |
getConnectionIdsForJid(tigase.xmpp.BareJID jid)
Method description
|
Map<String,Object> |
getDefaults(Map<String,Object> params)
Method description
|
String |
getDiscoCategoryType()
Method description
|
String |
getDiscoDescription()
Method description
|
List<tigase.xml.Element> |
getDiscoFeatures(tigase.xmpp.JID from)
Method description
|
tigase.xml.Element |
getDiscoInfo(String node,
tigase.xmpp.JID jid,
tigase.xmpp.JID from)
Method description
|
protected Integer |
getMaxQueueSize(int def)
Method description
|
XMPPResourceConnection |
getResourceConnection(tigase.xmpp.JID jid)
Method description
|
protected XMPPSession |
getSession(tigase.xmpp.BareJID jid)
Method description
|
void |
getStatistics(StatisticsList list)
Method description
|
protected XMPPResourceConnection |
getXMPPResourceConnection(tigase.xmpp.JID connId)
Method description
|
protected XMPPResourceConnection |
getXMPPResourceConnection(Packet p)
Method description
|
void |
handleLocalPacket(Packet packet,
XMPPResourceConnection conn)
Method description
|
void |
handleLogin(tigase.xmpp.BareJID userId,
XMPPResourceConnection conn)
Method description
|
void |
handleLogout(tigase.xmpp.BareJID userId,
XMPPResourceConnection conn)
Method description
|
void |
handlePresenceSet(XMPPResourceConnection conn)
Method description
|
void |
handleResourceBind(XMPPResourceConnection conn)
Method description
|
boolean |
handlesLocalDomains()
Method description
|
boolean |
hasCompleteJidsInfo()
Method description
|
void |
initBindings(Bindings binds)
Initialize a mapping of key/value pairs which can be used in scripts
loaded by the server
|
protected boolean |
isBrokenPacket(Packet p)
Method description
|
boolean |
isLocalDomain(String domain,
boolean includeComponents)
Method description
|
protected boolean |
isTrusted(tigase.xmpp.JID jid)
Method description
|
protected boolean |
isTrusted(String jid)
Method description
|
protected XMPPResourceConnection |
loginUserSession(tigase.xmpp.JID conn_id,
String domain,
tigase.xmpp.BareJID user_id,
String resource,
String xmpp_sessionId,
boolean tmpSession)
Method description
|
protected boolean |
processAdminsOrDomains(Packet packet)
Method description
|
protected boolean |
processCommand(Packet pc)
Method description
|
int |
processingInThreads()
Concurrency control method.
|
int |
processingOutThreads()
Concurrency control method.
|
void |
processPacket(Packet packet)
Method description
|
protected void |
processPacket(Packet packet,
XMPPResourceConnection conn)
Method description
|
protected void |
processPresenceUpdate(XMPPSession session,
tigase.xml.Element packet)
Method description
|
protected void |
registerNewSession(tigase.xmpp.BareJID userId,
XMPPResourceConnection conn)
Method description
|
void |
removePlugin(String plug_id)
Method description
|
protected void |
sendToAdmins(Packet packet)
Method description
|
void |
setName(String name)
Method description
|
void |
setProperties(Map<String,Object> props)
Method description
|
boolean |
skipPrivacy()
Method description
|
void |
stop()
Method description
|
addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTask, clearRegexRoutings, everyHour, everySecond, getRegexRoutings, hashCodeForPacket, isInRegexRoutings, newPacketId, processingThreads, processOutPacket, processPacket, release, removeRegexRouting, schedulerThreads, setMaxQueueSize, setParent, start
addComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoFeatures, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getScriptCommands, getScriptItems, getServiceEntity, getVHostItem, handlesNameSubdomains, handlesNonLocalDomains, initializationCompleted, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getComponentId, getComponentInfo, getName, initializationCompleted, isInitializationComplete, processPacket, release
getComponentId
getDefHostName
protected static final String ADMIN_COMMAND_NODE
protected ConcurrentHashMap<tigase.xmpp.BareJID,XMPPSession> sessionsByNodeId
protected ConcurrentHashMap<tigase.xmpp.JID,XMPPResourceConnection> connectionsByFrom
public boolean addOutPacket(Packet packet)
addOutPacket
in class AbstractMessageReceiver
packet
- boolean
public XMPPImplIfc addPlugin(String plug_id, String conc) throws ClassNotFoundException, InstantiationException, IllegalAccessException
plug_id
- conc
- XMPPImplIfc
ClassNotFoundException
IllegalAccessException
InstantiationException
public boolean containsJid(tigase.xmpp.BareJID jid)
OnlineJidsReporter
containsJid
in interface OnlineJidsReporter
jid
- a user's JID for whom we query information.public boolean containsJidLocally(tigase.xmpp.BareJID jid)
OnlineJidsReporter
containsJidLocally
in interface OnlineJidsReporter
jid
- a user's JID for whom we query informationpublic boolean containsJidLocally(tigase.xmpp.JID jid)
OnlineJidsReporter
containsJidLocally
in interface OnlineJidsReporter
jid
- a user's JID for whom we query informationpublic void handleLocalPacket(Packet packet, XMPPResourceConnection conn)
packet
- conn
- public void handleLogin(tigase.xmpp.BareJID userId, XMPPResourceConnection conn)
handleLogin
in interface SessionManagerHandler
userId
- conn
- public void handleLogout(tigase.xmpp.BareJID userId, XMPPResourceConnection conn)
handleLogout
in interface SessionManagerHandler
userId
- conn
- public void handlePresenceSet(XMPPResourceConnection conn)
handlePresenceSet
in interface SessionManagerHandler
conn
- public void handleResourceBind(XMPPResourceConnection conn)
handleResourceBind
in interface SessionManagerHandler
conn
- public boolean handlesLocalDomains()
handlesLocalDomains
in interface VHostListener
handlesLocalDomains
in class BasicComponent
boolean
public void initBindings(Bindings binds)
BasicComponent
initBindings
in class BasicComponent
binds
- A mapping of key/value pairs, all of whose keys are Strings.public int processingInThreads()
AbstractMessageReceiver
processingInThreads
in class AbstractMessageReceiver
public int processingOutThreads()
AbstractMessageReceiver
processingOutThreads
in class AbstractMessageReceiver
public void processPacket(Packet packet)
processPacket
in class AbstractMessageReceiver
packet
- public void removePlugin(String plug_id)
plug_id
- public boolean skipPrivacy()
boolean
public void stop()
AbstractMessageReceiver
stop
in class AbstractMessageReceiver
public tigase.xmpp.JID[] getConnectionIdsForJid(tigase.xmpp.BareJID jid)
getConnectionIdsForJid
in interface OnlineJidsReporter
jid
- JID[]
public Map<String,Object> getDefaults(Map<String,Object> params)
getDefaults
in interface Configurable
getDefaults
in class AbstractMessageReceiver
params
- Map
public String getDiscoCategoryType()
getDiscoCategoryType
in class BasicComponent
String
public String getDiscoDescription()
getDiscoDescription
in class BasicComponent
String
public List<tigase.xml.Element> getDiscoFeatures(tigase.xmpp.JID from)
getDiscoFeatures
in interface XMPPService
getDiscoFeatures
in class BasicComponent
from
- List
public tigase.xml.Element getDiscoInfo(String node, tigase.xmpp.JID jid, tigase.xmpp.JID from)
getDiscoInfo
in interface XMPPService
getDiscoInfo
in class BasicComponent
node
- jid
- from
- Element
public XMPPResourceConnection getResourceConnection(tigase.xmpp.JID jid)
jid
- XMPPResourceConnection
public void getStatistics(StatisticsList list)
getStatistics
in interface StatisticsContainer
getStatistics
in class AbstractMessageReceiver
list
- public boolean hasCompleteJidsInfo()
hasCompleteJidsInfo
in interface OnlineJidsReporter
boolean
public boolean isLocalDomain(String domain, boolean includeComponents)
isLocalDomain
in interface SessionManagerHandler
domain
- includeComponents
- boolean
public void setName(String name)
setName
in interface ServerComponent
setName
in class AbstractMessageReceiver
name
- public void setProperties(Map<String,Object> props) throws ConfigurationException
setProperties
in interface Configurable
setProperties
in class AbstractMessageReceiver
props
- ConfigurationException
protected void addOutPackets(Packet packet, XMPPResourceConnection conn, Queue<Packet> results)
packet
- conn
- results
- protected boolean addTrusted(tigase.xmpp.JID jid)
jid
- boolean
protected void closeConnection(XMPPResourceConnection connection, tigase.xmpp.JID connectionId, String userId, boolean closeOnly)
connection
- - instance of XMPPResourceConnection if available when callingconnectionId
- userId
- closeOnly
- protected void closeSession(XMPPResourceConnection conn, boolean closeOnly)
conn
- closeOnly
- protected XMPPResourceConnection createUserSession(tigase.xmpp.JID conn_id, String domain) throws tigase.util.TigaseStringprepException
conn_id
- domain
- XMPPResourceConnection
tigase.util.TigaseStringprepException
protected boolean delTrusted(tigase.xmpp.JID jid)
jid
- boolean
protected boolean fastAddOutPacket(Packet packet)
packet
- boolean
protected XMPPResourceConnection loginUserSession(tigase.xmpp.JID conn_id, String domain, tigase.xmpp.BareJID user_id, String resource, String xmpp_sessionId, boolean tmpSession)
conn_id
- domain
- user_id
- resource
- xmpp_sessionId
- tmpSession
- is a boolean
XMPPResourceConnection
protected boolean processAdminsOrDomains(Packet packet)
packet
- boolean
protected boolean processCommand(Packet pc)
pc
- boolean
protected void processPacket(Packet packet, XMPPResourceConnection conn)
packet
- conn
- protected void processPresenceUpdate(XMPPSession session, tigase.xml.Element packet)
session
- is a XMPPSession
packet
- is a Element
protected void registerNewSession(tigase.xmpp.BareJID userId, XMPPResourceConnection conn)
userId
- conn
- protected void sendToAdmins(Packet packet)
packet
- protected Integer getMaxQueueSize(int def)
getMaxQueueSize
in class AbstractMessageReceiver
def
- Integer
protected XMPPSession getSession(tigase.xmpp.BareJID jid)
jid
- XMPPSession
protected XMPPResourceConnection getXMPPResourceConnection(tigase.xmpp.JID connId)
connId
- XMPPResourceConnection
protected XMPPResourceConnection getXMPPResourceConnection(Packet p)
p
- XMPPResourceConnection
protected boolean isBrokenPacket(Packet p)
p
- boolean
protected boolean isTrusted(tigase.xmpp.JID jid)
jid
- boolean
protected boolean isTrusted(String jid)
jid
- boolean
public void everyMinute()
AbstractMessageReceiver
everyMinute
in class AbstractMessageReceiver
Copyright © 2014 "Tigase, Inc.". All rights reserved.