tigase.server.xmppsession
Class SessionManager
java.lang.Object
tigase.server.AbstractMessageReceiver
tigase.server.xmppsession.SessionManager
- All Implemented Interfaces:
- Configurable, XMPPService, MessageReceiver, ServerComponent, SessionManagerHandler, StatisticsContainer, OnlineJidsReporter, VHostListener
- Direct Known Subclasses:
- SessionManagerClustered, SessionManagerClusteredOld
public class SessionManager
- extends AbstractMessageReceiver
- implements Configurable, XMPPService, SessionManagerHandler, OnlineJidsReporter
Class SessionManager
Created: Tue Nov 22 07:07:11 2005
- Version:
- $Rev: 1707 $
- Author:
- Artur Hefczyc, Peter Sandström - multi-threadin
support for pluggins processors.
| Fields inherited from interface tigase.conf.Configurable |
ADMINS_PROP_KEY, AUTH_REPO_CLASS_PROP_KEY, AUTH_REPO_PARAMS_NODE, AUTH_REPO_URL_PROP_KEY, 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, COMPONENT_ID_PROP_KEY, DEF_BOSH_NAME, DEF_C2S_NAME, DEF_CL_COMP_NAME, DEF_CLUST_CONTR_NAME, DEF_EXT_COMP_NAME, DEF_HOSTNAME_PROP_KEY, DEF_S2S_NAME, DEF_SM_NAME, DEF_SRECV_NAME, DEF_SSEND_NAME, DEF_STATS_NAME, DEF_VHOST_MAN_NAME, DERBY_REPO_CLASS_PROP_VAL, DERBY_REPO_URL_PROP_VAL, DRUPAL_REPO_CLASS_PROP_VAL, DRUPAL_REPO_URL_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_SM_PLUGINS, GEN_SREC_ADMINS, GEN_SREC_DB, GEN_SREC_DB_URI, GEN_TEST, GEN_TRUSTED, GEN_USER_DB, GEN_USER_DB_URI, GEN_VIRT_HOSTS, HOSTNAMES_PROP_KEY, LIBRESOURCE_REPO_CLASS_PROP_VAL, LIBRESOURCE_REPO_URL_PROP_VAL, MONITORING, MYSQL_REPO_CLASS_PROP_VAL, MYSQL_REPO_URL_PROP_VAL, NULL_ROUTING, 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_POOL_PROP_KEY, SHARED_USER_REPO_PROP_KEY, SM_CLUS_COMP_CLASS_NAME, SM_COMP_CLASS_NAME, SRECV_COMP_CLASS_NAME, SSEND_COMP_CLASS_NAME, STATS_CLASS_NAME, TIGASE_AUTH_REPO_CLASS_PROP_VAL, TIGASE_AUTH_REPO_URL_PROP_VAL, TIGASE_CUSTOM_AUTH_REPO_CLASS_PROP_VAL, TRUSTED_PROP_KEY, USER_REPO_CLASS_PROP_KEY, USER_REPO_PARAMS_NODE, USER_REPO_POOL_SIZE, USER_REPO_POOL_SIZE_PROP_KEY, USER_REPO_URL_PROP_KEY, VHOST_MAN_CLASS_NAME, XML_REPO_CLASS_PROP_VAL, XML_REPO_URL_PROP_VAL |
|
Method Summary |
protected boolean |
addOutPacket(Packet packet)
|
protected void |
addOutPackets(Packet packet,
XMPPResourceConnection conn,
java.util.Queue<Packet> results)
|
protected boolean |
addTrusted(java.lang.String jid)
|
protected void |
closeConnection(java.lang.String connectionId,
boolean closeOnly)
|
protected void |
closeSession(XMPPResourceConnection conn,
boolean closeOnly)
|
protected XMPPResourceConnection |
createUserSession(java.lang.String conn_id,
java.lang.String domain)
|
protected boolean |
delTrusted(java.lang.String jid)
|
protected boolean |
fastAddOutPacket(Packet packet)
|
java.util.Map<java.lang.String,java.lang.Object> |
getDefaults(java.util.Map<java.lang.String,java.lang.Object> params)
Returns defualt configuration settings for this object. |
java.util.List<tigase.xml.Element> |
getDiscoFeatures()
Returns features for top level disco info |
tigase.xml.Element |
getDiscoInfo(java.lang.String node,
java.lang.String jid)
|
java.util.List<tigase.xml.Element> |
getDiscoItems(java.lang.String node,
java.lang.String jid)
|
protected java.lang.Integer |
getMaxQueueSize(int def)
|
java.util.Set<java.lang.String> |
getOnlineJids()
|
protected XMPPResourceConnection |
getResourceConnection(java.lang.String jid)
|
protected XMPPSession |
getSession(java.lang.String jid)
|
java.util.List<StatRecord> |
getStatistics()
|
protected XMPPResourceConnection |
getXMPPResourceConnection(Packet p)
|
protected XMPPResourceConnection |
getXMPPResourceConnection(java.lang.String connId)
|
void |
handleLogin(java.lang.String userName,
XMPPResourceConnection conn)
|
void |
handleLogout(java.lang.String userName,
XMPPResourceConnection conn)
|
void |
handlePresenceSet(XMPPResourceConnection conn)
|
void |
handleResourceBind(XMPPResourceConnection conn)
|
boolean |
handlesLocalDomains()
Indicates whether the component accepts packets to all local domains. |
protected boolean |
isBrokenPacket(Packet p)
|
boolean |
isLocalDomain(java.lang.String domain,
boolean includeComponents)
|
protected boolean |
isTrusted(java.lang.String jid)
|
protected XMPPResourceConnection |
loginUserSession(java.lang.String conn_id,
java.lang.String domain,
java.lang.String user_id,
java.lang.String resource,
ConnectionStatus conn_st,
java.lang.String xmpp_sessionId)
|
protected boolean |
processAdminsOrDomains(Packet packet)
|
protected boolean |
processCommand(Packet pc)
|
int |
processingThreads()
|
void |
processPacket(Packet packet)
|
protected void |
processPacket(Packet packet,
XMPPResourceConnection conn)
|
protected void |
registerNewSession(java.lang.String userId,
XMPPResourceConnection conn)
|
protected void |
sendAllOnHold(XMPPResourceConnection conn)
|
protected void |
sendToAdmins(Packet packet)
|
void |
setName(java.lang.String name)
|
void |
setProperties(java.util.Map<java.lang.String,java.lang.Object> props)
Sets all configuration properties for object. |
| Methods inherited from class tigase.server.AbstractMessageReceiver |
addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, clearRegexRoutings, everyMinute, everySecond, getComponentId, getDefHostName, getName, getRegexRoutings, getVHostItem, handlesNameSubdomains, handlesNonLocalDomains, initializationCompleted, isInRegexRoutings, isLocalDomain, isLocalDomainOrComponent, processPacket, release, removeRegexRouting, setMaxQueueSize, setParent, setVHostManager, start, stop |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SESSION_PACKETS
protected static final java.lang.String SESSION_PACKETS
- See Also:
- Constant Field Values
ADMIN_COMMAND_NODE
protected static final java.lang.String ADMIN_COMMAND_NODE
- See Also:
- Constant Field Values
SessionManager
public SessionManager()
setName
public void setName(java.lang.String name)
- Specified by:
setName in interface ServerComponent- Overrides:
setName in class AbstractMessageReceiver
getXMPPResourceConnection
protected XMPPResourceConnection getXMPPResourceConnection(java.lang.String connId)
getXMPPResourceConnection
protected XMPPResourceConnection getXMPPResourceConnection(Packet p)
isBrokenPacket
protected boolean isBrokenPacket(Packet p)
processPacket
public void processPacket(Packet packet)
- Specified by:
processPacket in class AbstractMessageReceiver
processPacket
protected void processPacket(Packet packet,
XMPPResourceConnection conn)
processingThreads
public int processingThreads()
- Overrides:
processingThreads in class AbstractMessageReceiver
isTrusted
protected boolean isTrusted(java.lang.String jid)
addTrusted
protected boolean addTrusted(java.lang.String jid)
delTrusted
protected boolean delTrusted(java.lang.String jid)
processAdminsOrDomains
protected boolean processAdminsOrDomains(Packet packet)
sendToAdmins
protected void sendToAdmins(Packet packet)
getSession
protected XMPPSession getSession(java.lang.String jid)
getResourceConnection
protected XMPPResourceConnection getResourceConnection(java.lang.String jid)
getMaxQueueSize
protected java.lang.Integer getMaxQueueSize(int def)
- Overrides:
getMaxQueueSize in class AbstractMessageReceiver
processCommand
protected boolean processCommand(Packet pc)
sendAllOnHold
protected void sendAllOnHold(XMPPResourceConnection conn)
closeConnection
protected void closeConnection(java.lang.String connectionId,
boolean closeOnly)
closeSession
protected void closeSession(XMPPResourceConnection conn,
boolean closeOnly)
addOutPacket
protected boolean addOutPacket(Packet packet)
- Overrides:
addOutPacket in class AbstractMessageReceiver
fastAddOutPacket
protected boolean fastAddOutPacket(Packet packet)
addOutPackets
protected void addOutPackets(Packet packet,
XMPPResourceConnection conn,
java.util.Queue<Packet> results)
getDefaults
public java.util.Map<java.lang.String,java.lang.Object> getDefaults(java.util.Map<java.lang.String,java.lang.Object> params)
- Description copied from class:
AbstractMessageReceiver
- Returns defualt configuration settings for this object.
- Specified by:
getDefaults in interface Configurable- Overrides:
getDefaults in class AbstractMessageReceiver
- Returns:
setProperties
public void setProperties(java.util.Map<java.lang.String,java.lang.Object> props)
- Description copied from class:
AbstractMessageReceiver
- Sets all configuration properties for object.
- Specified by:
setProperties in interface Configurable- Overrides:
setProperties in class AbstractMessageReceiver
handlesLocalDomains
public boolean handlesLocalDomains()
- Description copied from interface:
VHostListener
- Indicates whether the component accepts packets to all local domains.
The best example would be SM component which usually handles all requests
sent to any local domain.
- Specified by:
handlesLocalDomains in interface VHostListener- Overrides:
handlesLocalDomains in class AbstractMessageReceiver
- Returns:
- 'true' if the component accepts packets to local domains
'false' otherwise.
createUserSession
protected XMPPResourceConnection createUserSession(java.lang.String conn_id,
java.lang.String domain)
loginUserSession
protected XMPPResourceConnection loginUserSession(java.lang.String conn_id,
java.lang.String domain,
java.lang.String user_id,
java.lang.String resource,
ConnectionStatus conn_st,
java.lang.String xmpp_sessionId)
registerNewSession
protected void registerNewSession(java.lang.String userId,
XMPPResourceConnection conn)
handleLogin
public void handleLogin(java.lang.String userName,
XMPPResourceConnection conn)
- Specified by:
handleLogin in interface SessionManagerHandler
handleResourceBind
public void handleResourceBind(XMPPResourceConnection conn)
- Specified by:
handleResourceBind in interface SessionManagerHandler
handlePresenceSet
public void handlePresenceSet(XMPPResourceConnection conn)
- Specified by:
handlePresenceSet in interface SessionManagerHandler
handleLogout
public void handleLogout(java.lang.String userName,
XMPPResourceConnection conn)
- Specified by:
handleLogout in interface SessionManagerHandler
getDiscoInfo
public tigase.xml.Element getDiscoInfo(java.lang.String node,
java.lang.String jid)
- Specified by:
getDiscoInfo in interface XMPPService
getDiscoFeatures
public java.util.List<tigase.xml.Element> getDiscoFeatures()
- Description copied from interface:
XMPPService
- Returns features for top level disco info
- Specified by:
getDiscoFeatures in interface XMPPService
- Returns:
getDiscoItems
public java.util.List<tigase.xml.Element> getDiscoItems(java.lang.String node,
java.lang.String jid)
- Specified by:
getDiscoItems in interface XMPPService
getStatistics
public java.util.List<StatRecord> getStatistics()
- Specified by:
getStatistics in interface StatisticsContainer- Overrides:
getStatistics in class AbstractMessageReceiver
isLocalDomain
public boolean isLocalDomain(java.lang.String domain,
boolean includeComponents)
- Specified by:
isLocalDomain in interface SessionManagerHandler
getOnlineJids
public java.util.Set<java.lang.String> getOnlineJids()
- Specified by:
getOnlineJids in interface OnlineJidsReporter
Copyright © 2009 Tigase. All Rights Reserved.