Package tigase.cluster.strategy
Class DefaultClusteringStrategy<E extends ConnectionRecordIfc>
java.lang.Object
tigase.cluster.strategy.DefaultClusteringStrategyAbstract<E>
tigase.cluster.strategy.DefaultClusteringStrategy<E>
- All Implemented Interfaces:
ClusteringStrategyIfc<E>,StatisticHolder,OnlineJidsReporter
@Bean(name="strategy",
parent=SessionManagerClustered.class,
active=true)
public class DefaultClusteringStrategy<E extends ConnectionRecordIfc>
extends DefaultClusteringStrategyAbstract<E>
Created: May 13, 2009 9:53:44 AM
- Author:
- Artur Hefczyc
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected ConnectionRecordIfcgetConnectionRecord(JID node, Map<String, String> data) Method takes the data received from other cluster node and creates a ConnectionRecord with all essential connection information.getNodesForPacketForward(JID fromNode, Set<JID> visitedNodes, Packet packet) voidhandleLocalPacket(Packet packet, XMPPResourceConnection conn) voidvoidhandleLocalUserLogout(BareJID userId, 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.Methods inherited from class tigase.cluster.strategy.DefaultClusteringStrategyAbstract
addCommandListener, containsJid, containsJidLocally, containsJidLocally, everyHour, everyMinute, everySecond, fireEvent, getConnectionIdsForJid, getConnectionRecord, getConnectionRecordInstance, getConnectionRecords, getDefaults, getInfo, getNodesConnected, getNodesForIqResponse, getSM, getStatistics, getStatistics, handleLocalPresenceSet, handleLocalUserChangedConnId, handleLocalUserLogin, hasCompleteJidsInfo, isIqResponseToNode, isSuitableForForward, nodeConnected, nodeDisconnected, processPacket, sendToNextNode, setClusterController, setProperties, setStatisticsPrefix, statisticExecutedIn, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface tigase.cluster.strategy.ClusteringStrategyIfc
getConnectionRecordsByCreationTime
-
Field Details
-
CONNECTION_ID
- See Also:
-
RESOURCE
- See Also:
-
SM_ID
- See Also:
-
USER_ID
- See Also:
-
XMPP_SESSION_ID
- See Also:
-
-
Constructor Details
-
DefaultClusteringStrategy
public DefaultClusteringStrategy()
-
-
Method Details
-
handleLocalPacket
- Specified by:
handleLocalPacketin interfaceClusteringStrategyIfc<E extends ConnectionRecordIfc>- Overrides:
handleLocalPacketin classDefaultClusteringStrategyAbstract<E extends ConnectionRecordIfc>
-
handleLocalResourceBind
- Specified by:
handleLocalResourceBindin interfaceClusteringStrategyIfc<E extends ConnectionRecordIfc>- Overrides:
handleLocalResourceBindin classDefaultClusteringStrategyAbstract<E extends ConnectionRecordIfc>
-
handleLocalUserLogout
- Specified by:
handleLocalUserLogoutin interfaceClusteringStrategyIfc<E extends ConnectionRecordIfc>- Overrides:
handleLocalUserLogoutin classDefaultClusteringStrategyAbstract<E extends ConnectionRecordIfc>
-
getNodesForPacketForward
- Overrides:
getNodesForPacketForwardin classDefaultClusteringStrategyAbstract<E extends ConnectionRecordIfc>
-
prepareConnectionParams
protected Map<String,String> prepareConnectionParams(XMPPResourceConnection conn) throws NotAuthorizedException, NoConnectionIdException A utility method used to prepare a Map of data with user session data before it can be sent over to another cluster node. This is supposed to contain all the user's session essential information which directly identify user's resource and network connection. This information allows to detect two different user's connection made for the same resource. This may happen if both connections are established to different nodes.- Parameters:
conn- is user's XMPPResourceConnection for which Map structure is prepare.- Returns:
- a Map structure with all user's connection essential data.
- Throws:
NotAuthorizedExceptionNoConnectionIdException
-
getConnectionRecord
Method takes the data received from other cluster node and creates a ConnectionRecord with all essential connection information. This might be used later to identify user's XMPPResourceConnection or use the clustering strategy API.
-