tigase.cluster
Class SessionManagerClustered

java.lang.Object
  extended by tigase.server.BasicComponent
      extended by tigase.server.AbstractMessageReceiver
          extended by tigase.server.xmppsession.SessionManager
              extended by tigase.cluster.SessionManagerClustered
All Implemented Interfaces:
ClusteredComponent, Configurable, XMPPService, MessageReceiver, ServerComponent, SessionManagerHandler, StatisticsContainer, OnlineJidsReporter, VHostListener

public class SessionManagerClustered
extends SessionManager
implements ClusteredComponent

Class SessionManagerClusteredOld Created: Tue Nov 22 07:07:11 2005

Version:
$Rev$
Author:
Artur Hefczyc

Field Summary
static String MY_DOMAIN_NAME_PROP_KEY
          Field description
static String STRATEGY_CLASS_PROP_KEY
          Field description
static String STRATEGY_CLASS_PROP_VAL
          Field description
static String STRATEGY_CLASS_PROPERTY
          Field description
static int SYNC_MAX_BATCH_SIZE
          Field description
 
Fields inherited from class tigase.server.xmppsession.SessionManager
ADMIN_COMMAND_NODE, connectionsByFrom
 
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, maxQueueSize, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, SECOND
 
Fields inherited from class tigase.server.BasicComponent
admins, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, vHostManager
 
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, COMP_PROT_CLASS_NAME, COMPONENT_ID_PROP_KEY, 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_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_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_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, 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, 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_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
 
Fields inherited from interface tigase.server.xmppsession.SessionManagerHandler
COMMIT_HANDLER_KEY
 
Fields inherited from interface tigase.disco.XMPPService
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
 
Constructor Summary
SessionManagerClustered()
           
 
Method Summary
protected  void closeSession(XMPPResourceConnection conn, boolean closeOnly)
           
 boolean containsJid(tigase.xmpp.JID jid)
          Method description
 tigase.xmpp.JID[] getConnectionIdsForJid(tigase.xmpp.JID jid)
          Method description
 Map<String,Object> getDefaults(Map<String,Object> params)
          Method description
protected  tigase.xmpp.JID getFirstClusterNode(tigase.xmpp.JID userJid)
           
 void getStatistics(StatisticsList list)
          Method description
 void handlePresenceSet(XMPPResourceConnection conn)
          Method description
 void handleResourceBind(XMPPResourceConnection conn)
          Method description
 boolean hasCompleteJidsInfo()
          Method description
 void nodeConnected(String node)
          Method description
 void nodeDisconnected(String node)
          Method description
protected  void processClusterPacket(Packet packet)
           
 int processingThreads()
          Method description
protected  void processPacket(ClusterElement packet)
           
 void processPacket(Packet packet)
          Method description
protected  boolean sendToNextNode(ClusterElement clel, tigase.xmpp.JID userId)
           
protected  boolean sendToNextNode(Packet packet)
           
 void setClusterController(ClusterController cl_controller)
          Method description
 void setProperties(Map<String,Object> props)
          Method description
protected  void updateUserResources(XMPPResourceConnection res_con, Queue<Packet> results)
           
 
Methods inherited from class tigase.server.xmppsession.SessionManager
addOutPacket, addOutPackets, addTrusted, closeConnection, createUserSession, delTrusted, fastAddOutPacket, getDiscoCategoryType, getDiscoDescription, getDiscoFeatures, getDiscoInfo, getMaxQueueSize, getResourceConnection, getSession, getXMPPResourceConnection, getXMPPResourceConnection, handleLogin, handleLogout, handlesLocalDomains, initBindings, isBrokenPacket, isLocalDomain, isTrusted, isTrusted, loginUserSession, processAdminsOrDomains, processCommand, processPacket, registerNewSession, sendToAdmins, setName, skipPrivacy
 
Methods inherited from class tigase.server.AbstractMessageReceiver
addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, clearRegexRoutings, everyHour, everyMinute, everySecond, getRegexRoutings, hashCodeForPacket, isInRegexRoutings, newPacketId, processPacket, release, removeRegexRouting, setMaxQueueSize, setParent, start, stop
 
Methods inherited from class tigase.server.BasicComponent
addComponentDomain, getComponentId, getDefHostName, getDiscoFeatures, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getVHostItem, handlesNameSubdomains, handlesNonLocalDomains, initializationCompleted, isAdmin, isLocalDomain, isLocalDomainOrComponent, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface tigase.server.ServerComponent
getComponentId, getName, initializationCompleted, processPacket, release, setName
 
Methods inherited from interface tigase.server.xmppsession.SessionManagerHandler
getComponentId
 
Methods inherited from interface tigase.server.MessageReceiver
getDefHostName
 

Field Detail

MY_DOMAIN_NAME_PROP_KEY

public static final String MY_DOMAIN_NAME_PROP_KEY
Field description

See Also:
Constant Field Values

STRATEGY_CLASS_PROPERTY

public static final String STRATEGY_CLASS_PROPERTY
Field description

See Also:
Constant Field Values

STRATEGY_CLASS_PROP_KEY

public static final String STRATEGY_CLASS_PROP_KEY
Field description

See Also:
Constant Field Values

STRATEGY_CLASS_PROP_VAL

public static final String STRATEGY_CLASS_PROP_VAL
Field description

See Also:
Constant Field Values

SYNC_MAX_BATCH_SIZE

public static final int SYNC_MAX_BATCH_SIZE
Field description

See Also:
Constant Field Values
Constructor Detail

SessionManagerClustered

public SessionManagerClustered()
Method Detail

containsJid

public boolean containsJid(tigase.xmpp.JID jid)
Method description

Specified by:
containsJid in interface OnlineJidsReporter
Overrides:
containsJid in class SessionManager
Parameters:
jid -
Returns:

getConnectionIdsForJid

public tigase.xmpp.JID[] getConnectionIdsForJid(tigase.xmpp.JID jid)
Method description

Specified by:
getConnectionIdsForJid in interface OnlineJidsReporter
Overrides:
getConnectionIdsForJid in class SessionManager
Parameters:
jid -
Returns:

getDefaults

public Map<String,Object> getDefaults(Map<String,Object> params)
Method description

Specified by:
getDefaults in interface Configurable
Overrides:
getDefaults in class SessionManager
Parameters:
params -
Returns:

getStatistics

public void getStatistics(StatisticsList list)
Description copied from class: SessionManager
Method description

Specified by:
getStatistics in interface StatisticsContainer
Overrides:
getStatistics in class SessionManager
Parameters:
list -

handlePresenceSet

public void handlePresenceSet(XMPPResourceConnection conn)
Method description

Specified by:
handlePresenceSet in interface SessionManagerHandler
Overrides:
handlePresenceSet in class SessionManager
Parameters:
conn -

handleResourceBind

public void handleResourceBind(XMPPResourceConnection conn)
Method description

Specified by:
handleResourceBind in interface SessionManagerHandler
Overrides:
handleResourceBind in class SessionManager
Parameters:
conn -

hasCompleteJidsInfo

public boolean hasCompleteJidsInfo()
Method description

Specified by:
hasCompleteJidsInfo in interface OnlineJidsReporter
Overrides:
hasCompleteJidsInfo in class SessionManager
Returns:

nodeConnected

public void nodeConnected(String node)
Method description

Specified by:
nodeConnected in interface ClusteredComponent
Parameters:
node -

nodeDisconnected

public void nodeDisconnected(String node)
Method description

Specified by:
nodeDisconnected in interface ClusteredComponent
Parameters:
node -

processPacket

public void processPacket(Packet packet)
Method description

Overrides:
processPacket in class SessionManager
Parameters:
packet -

processingThreads

public int processingThreads()
Method description

Overrides:
processingThreads in class SessionManager
Returns:

setClusterController

public void setClusterController(ClusterController cl_controller)
Method description

Specified by:
setClusterController in interface ClusteredComponent
Parameters:
cl_controller -

setProperties

public void setProperties(Map<String,Object> props)
Method description

Specified by:
setProperties in interface Configurable
Overrides:
setProperties in class SessionManager
Parameters:
props -

closeSession

protected void closeSession(XMPPResourceConnection conn,
                            boolean closeOnly)
Overrides:
closeSession in class SessionManager

getFirstClusterNode

protected tigase.xmpp.JID getFirstClusterNode(tigase.xmpp.JID userJid)

processClusterPacket

@TODO(note="Possible performance bottleneck if there are many users with multiple connections to different nodes.")
protected void processClusterPacket(Packet packet)
                             throws tigase.util.TigaseStringprepException
Throws:
tigase.util.TigaseStringprepException

processPacket

protected void processPacket(ClusterElement packet)

sendToNextNode

protected boolean sendToNextNode(ClusterElement clel,
                                 tigase.xmpp.JID userId)
                          throws tigase.util.TigaseStringprepException
Throws:
tigase.util.TigaseStringprepException

sendToNextNode

protected boolean sendToNextNode(Packet packet)

updateUserResources

protected void updateUserResources(XMPPResourceConnection res_con,
                                   Queue<Packet> results)


Copyright © 2001-2006 Tigase Developers Team. All rights Reserved.