public class SessionManagerClustered extends SessionManager implements ClusteredComponentIfc, SessionManagerClusteredIfc
SessionManager.WriterQueue<E extends Packet>
Modifier and Type | Field and Description |
---|---|
static String |
CLUSTER_STRATEGY_VAR
Field description
|
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
|
ADMIN_COMMAND_NODE, connectionsByFrom, packetWriterQueue, sessionsByNodeId
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
SESSION_FOUND_KEY
COMMIT_HANDLER_KEY
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
CMD_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.
|
boolean |
fastAddOutPacket(Packet packet)
Method description
|
ComponentInfo |
getComponentInfo()
Allows to obtain various informations about components
|
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.
|
Map<String,Object> |
getDefaults(Map<String,Object> params)
Loads the component's default configuration to the configuration management
subsystem.
|
String |
getDiscoDescription()
Method description
|
void |
getStatistics(StatisticsList list)
Method description
|
ClusteringStrategyIfc |
getStrategy()
Returns active clustering strategy object.
|
XMPPResourceConnection |
getXMPPResourceConnection(Packet p)
Method description
|
ConcurrentHashMap<tigase.xmpp.JID,XMPPResourceConnection> |
getXMPPResourceConnections()
Method description
|
ConcurrentHashMap<tigase.xmpp.BareJID,XMPPSession> |
getXMPPSessions()
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 |
handleResourceBind(XMPPResourceConnection conn)
Method description
|
boolean |
hasCompleteJidsInfo()
Method checks whether the clustering strategy has a complete JIDs info.
|
boolean |
hasXMPPResourceConnectionForConnectionJid(tigase.xmpp.JID connJid)
Method to check if there is XMPPResourceConnection instance for
connection JID.
|
void |
initBindings(Bindings binds)
Initialize a mapping of key/value pairs which can be used in scripts
loaded by the server
|
void |
nodeConnected(String node)
Method is called on cluster node connection event.
|
void |
nodeDisconnected(String node)
Method is called on cluster node disconnection event.
|
int |
processingInThreads()
Concurrency control method.
|
int |
processingOutThreads()
Concurrency control method.
|
void |
processPacket(Packet packet)
This is a standard component method for processing packets.
|
void |
processPacket(Packet packet,
XMPPResourceConnection conn)
Method description
|
void |
processPresenceUpdate(XMPPSession session,
tigase.xml.Element packet)
Method description
|
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, containsJidLocally, containsJidLocally, createUserSession, delTrusted, everyMinute, getDiscoCategoryType, getDiscoFeatures, getDiscoInfo, getMaxQueueSize, getResourceConnection, getSession, getXMPPResourceConnection, handlePresenceSet, handlesLocalDomains, isBrokenPacket, isLocalDomain, isTrusted, isTrusted, loginUserSession, processAdminsOrDomains, processCommand, registerNewSession, removePlugin, sendToAdmins, setName, skipPrivacy, stop
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, 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, getName, initializationCompleted, isInitializationComplete, processPacket, release, setName
getComponentId, handlePresenceSet, isLocalDomain
getDefHostName
public static final String CLUSTER_STRATEGY_VAR
public static final String MY_DOMAIN_NAME_PROP_KEY
public static final String STRATEGY_CLASS_PROP_KEY
public static final String STRATEGY_CLASS_PROP_VAL
public static final String STRATEGY_CLASS_PROPERTY
public static final int SYNC_MAX_BATCH_SIZE
public boolean containsJid(tigase.xmpp.BareJID jid)
OnlineJidsReporter
containsJid
in interface OnlineJidsReporter
containsJid
in class SessionManager
jid
- a user's JID for whom we query information.public boolean fastAddOutPacket(Packet packet)
SessionManager
fastAddOutPacket
in interface SessionManagerClusteredIfc
fastAddOutPacket
in class SessionManager
boolean
public void handleLocalPacket(Packet packet, XMPPResourceConnection conn)
SessionManager
handleLocalPacket
in class SessionManager
public void handleLogin(tigase.xmpp.BareJID userId, XMPPResourceConnection conn)
SessionManager
handleLogin
in interface SessionManagerHandler
handleLogin
in class SessionManager
public void handleLogout(tigase.xmpp.BareJID userId, XMPPResourceConnection conn)
SessionManager
handleLogout
in interface SessionManagerHandler
handleLogout
in class SessionManager
public void handleResourceBind(XMPPResourceConnection conn)
SessionManager
handleResourceBind
in interface SessionManagerHandler
handleResourceBind
in class SessionManager
public void initBindings(Bindings binds)
BasicComponent
initBindings
in class SessionManager
binds
- A mapping of key/value pairs, all of whose keys are Strings.public void nodeConnected(String node)
ClusteredComponentIfc
nodeConnected
in interface ClusteredComponentIfc
node
- is a hostname of a cluster node generating the event.public void nodeDisconnected(String node)
ClusteredComponentIfc
nodeDisconnected
in interface ClusteredComponentIfc
node
- is a hostname of a cluster node generating the event.public int processingInThreads()
AbstractMessageReceiver
processingInThreads
in class SessionManager
public int processingOutThreads()
AbstractMessageReceiver
processingOutThreads
in class SessionManager
public void processPacket(Packet packet)
processPacket
in class SessionManager
packet
- public void processPacket(Packet packet, XMPPResourceConnection conn)
SessionManager
processPacket
in interface SessionManagerClusteredIfc
processPacket
in class SessionManager
public void processPresenceUpdate(XMPPSession session, tigase.xml.Element packet)
SessionManager
processPresenceUpdate
in interface SessionManagerClusteredIfc
processPresenceUpdate
in class SessionManager
session
- is a XMPPSession
packet
- is a Element
public ComponentInfo getComponentInfo()
BasicComponent
getComponentInfo
in interface ServerComponent
getComponentInfo
in class BasicComponent
public tigase.xmpp.JID[] getConnectionIdsForJid(tigase.xmpp.BareJID jid)
getConnectionIdsForJid
in interface OnlineJidsReporter
getConnectionIdsForJid
in class SessionManager
jid
- a user's JID for whom we query information.public Map<String,Object> getDefaults(Map<String,Object> params)
getDefaults
in interface Configurable
getDefaults
in class SessionManager
params
- is a Map with system-wide default settings found in
init.properties file or similar location.public String getDiscoDescription()
SessionManager
getDiscoDescription
in class SessionManager
String
public void getStatistics(StatisticsList list)
SessionManager
getStatistics
in interface StatisticsContainer
getStatistics
in class SessionManager
list
- is a StatistcsList
where all statistics are stored.public ClusteringStrategyIfc getStrategy()
public XMPPResourceConnection getXMPPResourceConnection(Packet p)
SessionManager
getXMPPResourceConnection
in interface SessionManagerClusteredIfc
getXMPPResourceConnection
in class SessionManager
XMPPResourceConnection
public ConcurrentHashMap<tigase.xmpp.JID,XMPPResourceConnection> getXMPPResourceConnections()
SessionManagerClusteredIfc
getXMPPResourceConnections
in interface SessionManagerClusteredIfc
ConcurrentHashMap
public ConcurrentHashMap<tigase.xmpp.BareJID,XMPPSession> getXMPPSessions()
SessionManagerClusteredIfc
getXMPPSessions
in interface SessionManagerClusteredIfc
ConcurrentHashMap
public boolean hasCompleteJidsInfo()
hasCompleteJidsInfo
in interface OnlineJidsReporter
hasCompleteJidsInfo
in class SessionManager
public boolean hasXMPPResourceConnectionForConnectionJid(tigase.xmpp.JID connJid)
SessionManagerClusteredIfc
hasXMPPResourceConnectionForConnectionJid
in interface SessionManagerClusteredIfc
public void setClusterController(ClusterControllerIfc cl_controller)
setClusterController
in interface ClusteredComponentIfc
cl_controller
- public void setProperties(Map<String,Object> props) throws ConfigurationException
setProperties
in interface Configurable
setProperties
in class SessionManager
props
- ConfigurationException
protected void closeSession(XMPPResourceConnection conn, boolean closeOnly)
closeSession
in class SessionManager
conn
- closeOnly
- SessionManager.closeSession(tigase.xmpp.XMPPResourceConnection, boolean)
Copyright © 2014 "Tigase, Inc.". All rights reserved.