tigase.cluster
public class SessionManagerClustered extends SessionManager implements ClusteredComponentIfc
| Modifier and Type | Field and Description |
|---|---|
static String |
CLUSTER_STRATEGY_VAR |
static String |
CONNECTION_ID
Field description
|
static String |
MY_DOMAIN_NAME_PROP_KEY
Field description
|
static String |
RESOURCE
Field description
|
static String |
SM_ID
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
|
static String |
USER_ID
Field description
|
static String |
XMPP_SESSION_ID
Field description
|
ADMIN_COMMAND_NODE, connectionsByFromHOUR, INCOMING_FILTERS_PROP_KEY, INCOMING_FILTERS_PROP_VAL, MAX_QUEUE_SIZE_PROP_KEY, MAX_QUEUE_SIZE_PROP_VAL, maxInQueueSize, maxOutQueueSize, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, SCHEDULER_THREADS_PROP_KEY, SECONDadmins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, vHostManagerADMINS_PROP_KEY, AMP_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, WS2S_CLASS_NAME, WS2S_CLUST_CLASS_NAME, XML_REPO_CLASS_PROP_VAL, XML_REPO_URL_PROP_VAL, XMPP_STANZA_ACKCOMMIT_HANDLER_KEYCMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS| Constructor and Description |
|---|
SessionManagerClustered() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
closeSession(XMPPResourceConnection conn,
boolean closeOnly)
The method intercept user's disconnect event.
|
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.
|
tigase.xmpp.JID[] |
getConnectionIdsForJid(tigase.xmpp.BareJID jid)
If the installation knows about user's JID, that he is connected to the
system, then this method returns all user's connection IDs.
|
protected ConnectionRecord |
getConnectionRecord(tigase.xmpp.JID node,
Map<String,String> data)
Method takes the data received from other cluster node and creates a
ConnectionRecord with all essential connection information.
|
Map<String,Object> |
getDefaults(Map<String,Object> params)
Loads the component's default configuration to the configuration management
subsystem.
|
void |
getStatistics(StatisticsList list)
Method generates and returns component's statistics.
|
ClusteringStrategyIfc |
getStrategy()
Returns active clustering strategy object.
|
void |
handlePresenceSet(XMPPResourceConnection conn)
Method intercepts presence set event generated by presence status received
from a user connected to this node.
|
void |
handleResourceBind(XMPPResourceConnection conn)
Method intercepts resource bind event generated for on user's connection.
|
boolean |
hasCompleteJidsInfo()
Method checks whether the clustering strategy has a complete JIDs info.
|
void |
initBindings(Bindings binds)
Method description
|
void |
nodeConnected(String node)
The method is called on cluster node connection event.
|
void |
nodeDisconnected(String node)
Method is called on cluster node disconnection event.
|
protected Map<String,String> |
prepareConnectionParams(XMPPResourceConnection conn)
A utility method used to prepare a Map of data with user session data
before it can be sent over to another cluster node.
|
int |
processingInThreads()
Concurrency control method.
|
int |
processingOutThreads()
Concurrency control method.
|
void |
processPacket(Packet packet)
This is a standard component method for processing packets.
|
protected void |
requestSync(tigase.xmpp.JID node)
Send synchronization request to a given cluster node.
|
protected boolean |
sendToNextNode(tigase.xmpp.JID fromNode,
Set<tigase.xmpp.JID> visitedNodes,
Map<String,String> data,
Packet packet)
Method attempts to send the packet to the next cluster node.
|
void |
setClusterController(ClusterControllerIfc cl_controller)
Set's the configures the cluster controller object for cluster
communication and API.
|
void |
setProperties(Map<String,Object> props)
Standard component's configuration method.
|
addOutPacket, addOutPackets, addPlugin, addTrusted, closeConnection, createUserSession, delTrusted, fastAddOutPacket, getDiscoCategoryType, getDiscoDescription, getDiscoFeatures, getDiscoInfo, getMaxQueueSize, getResourceConnection, getSession, getXMPPResourceConnection, getXMPPResourceConnection, handleLocalPacket, handleLogin, handleLogout, handlesLocalDomains, isBrokenPacket, isLocalDomain, isTrusted, isTrusted, loginUserSession, processAdminsOrDomains, processCommand, processPacket, registerNewSession, removePlugin, sendToAdmins, setName, skipPrivacyaddOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTask, clearRegexRoutings, everyHour, everyMinute, everySecond, getRegexRoutings, hashCodeForPacket, isInRegexRoutings, newPacketId, processingThreads, processOutPacket, processPacket, release, removeRegexRouting, schedulerThreads, setMaxQueueSize, setParent, start, stopaddComponentDomain, canCallCommand, checkCommandAcl, getComponentId, 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, updateServiceDiscoveryItemclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetComponentId, getName, initializationCompleted, isInitializationComplete, processPacket, release, setNamegetComponentIdgetDefHostNamepublic static final String CLUSTER_STRATEGY_VAR
public static final String CONNECTION_ID
public static final String MY_DOMAIN_NAME_PROP_KEY
public static final String RESOURCE
public static final String SM_ID
public static final String STRATEGY_CLASS_PROPERTY
public static final String STRATEGY_CLASS_PROP_KEY
public static final String STRATEGY_CLASS_PROP_VAL
public static final int SYNC_MAX_BATCH_SIZE
public static final String USER_ID
public static final String XMPP_SESSION_ID
public boolean containsJid(tigase.xmpp.BareJID jid)
containsJid in interface OnlineJidsReportercontainsJid in class SessionManagerjid - a user's JID for whom we query information.public tigase.xmpp.JID[] getConnectionIdsForJid(tigase.xmpp.BareJID jid)
getConnectionIdsForJid in interface OnlineJidsReportergetConnectionIdsForJid in class SessionManagerjid - a user's JID for whom we query information.public Map<String,Object> getDefaults(Map<String,Object> params)
getDefaults in interface ConfigurablegetDefaults in class SessionManagerparams - is a Map with system-wide default settings found in
init.properties file or similar location.public void getStatistics(StatisticsList list)
getStatistics in interface StatisticsContainergetStatistics in class SessionManagerlist - is a collection with statistics to which this component can add
own metrics.public ClusteringStrategyIfc getStrategy()
public void initBindings(Bindings binds)
SessionManagerinitBindings in class SessionManagerpublic void handlePresenceSet(XMPPResourceConnection conn)
handlePresenceSet in interface SessionManagerHandlerhandlePresenceSet in class SessionManagerconn - a user's XMPPResourceConnection on which the event occurred.public void handleResourceBind(XMPPResourceConnection conn)
handleResourceBind in interface SessionManagerHandlerhandleResourceBind in class SessionManagerconn - a user's XMPPResourceConnection on which the event occurred.public boolean hasCompleteJidsInfo()
hasCompleteJidsInfo in interface OnlineJidsReporterhasCompleteJidsInfo in class SessionManagerpublic void nodeConnected(String node)
nodeConnected in interface ClusteredComponentIfcnode - is a hostname of a new cluster node connected to the system.public void nodeDisconnected(String node)
nodeDisconnected in interface ClusteredComponentIfcnode - is a hostname of a cluster node generating the event.protected Map<String,String> prepareConnectionParams(XMPPResourceConnection conn) throws NotAuthorizedException, NoConnectionIdException
conn - is user's XMPPResourceConnection for which Map structure is
prepare.NoConnectionIdExceptionNotAuthorizedExceptionpublic void processPacket(Packet packet)
processPacket in class SessionManagerpacket - protected boolean sendToNextNode(tigase.xmpp.JID fromNode,
Set<tigase.xmpp.JID> visitedNodes,
Map<String,String> data,
Packet packet)
packet - to be sent to a next cluster nodevisitedNodes - a list of nodes already visited by the packet.public int processingInThreads()
processingInThreads in class SessionManagerpublic int processingOutThreads()
processingOutThreads in class SessionManagerpublic void setClusterController(ClusterControllerIfc cl_controller)
setClusterController in interface ClusteredComponentIfccl_controller - public void setProperties(Map<String,Object> props)
setProperties in interface ConfigurablesetProperties in class SessionManagerprops - protected void closeSession(XMPPResourceConnection conn, boolean closeOnly)
closeSession in class SessionManagertigase.server.xmppsession.SessionManager#closeSession(tigase.xmpp.
XMPPResourceConnection, boolean)protected ConnectionRecord getConnectionRecord(tigase.xmpp.JID node, Map<String,String> data)
node - data - protected void requestSync(tigase.xmpp.JID node)
node - is a JID of the target cluster node.Copyright © 2013 Tigase. All rights reserved.