Package tigase.pubsub.cluster
Class PartitionedStrategy
- java.lang.Object
-
- tigase.pubsub.cluster.AbstractStrategy
-
- tigase.pubsub.cluster.PartitionedStrategy
-
- All Implemented Interfaces:
tigase.kernel.beans.Initializable,tigase.kernel.beans.UnregisterAware,StrategyIfc
@Bean(name="strategy", parent=PubSubComponentClustered.class, active=true) public class PartitionedStrategy extends AbstractStrategy implements StrategyIfcPartitionedStrategy is a class implementing StrategyIfc which is responible for selecting a node which will process particular packet. This implementation is selecting node for a packet using partitioning strategy.- Author:
- andrzej
-
-
Field Summary
Fields Modifier and Type Field Description protected ThreadLocal<ArrayDeque<tigase.xml.Element>>nodesModifications-
Fields inherited from class tigase.pubsub.cluster.AbstractStrategy
cl_controller, config, eventBus, localNodeJid, NODE_ATTR, nodeConfigureElemNames, PUBSUB_PATH, pubSubComponent
-
-
Constructor Summary
Constructors Constructor Description PartitionedStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanfilterOutPacket(tigase.server.Packet packet)tigase.xmpp.jid.JIDgetNodeForServiceNode(tigase.xmpp.jid.JID serviceJid, String node)List<tigase.xmpp.jid.JID>getNodesForPacket(tigase.server.Packet packet)booleanisLocalNode(tigase.xmpp.jid.BareJID serviceJid, String node)booleanisOnlineLocally(tigase.xmpp.jid.JID jid)voidnodeAddedToCollection(tigase.xmpp.jid.BareJID serviceJid, String nodeName, String collection)voidnodeAddedToRootCollection(tigase.xmpp.jid.BareJID serviceJid, String nodeName)voidnodeAffiliationsChanged(tigase.xmpp.jid.BareJID serviceJid, String nodeName, Map<tigase.xmpp.jid.BareJID,tigase.pubsub.repository.stateless.UsersAffiliation> changedAffiliations)voidnodeConfigurationChanged(tigase.xmpp.jid.BareJID serviceJid, String nodeName)voidnodeRemovedFromCollection(tigase.xmpp.jid.BareJID serviceJid, String nodeName, String collection)voidnodeRemovedFromRootCollection(tigase.xmpp.jid.BareJID serviceJid, String nodeName)voidnodeSubscriptionsChanged(tigase.xmpp.jid.BareJID serviceJid, String nodeName, Map<tigase.xmpp.jid.BareJID,tigase.pubsub.repository.stateless.UsersSubscription> changedSubscriptions)voidnotifyNodeConfigurationChanges()voidpacketProcessed()voiduserRemoved(tigase.xmpp.jid.BareJID serviceJid)-
Methods inherited from class tigase.pubsub.cluster.AbstractStrategy
beforeUnregister, getLocalNodeJid, getNodeForHashCode, getNodeForServiceJid, getNodesConnected, getNodesConnectedWithLocal, initialize, isNodeConfigure, nodeConnected, nodeDisconnected, onItemPublishedEvent, onItemRetractedEvent, prepareCommandData, sendException, setClusterController, setConfig, setLocalNodeJid, setPubSubComponent, wrapNodeConfig, wrapNodeSubscriptions
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface tigase.pubsub.cluster.StrategyIfc
getLocalNodeJid, getNodesConnected, getNodesConnectedWithLocal, nodeConnected, nodeDisconnected, sendException, setClusterController, setConfig, setPubSubComponent, wrapNodeConfig, wrapNodeSubscriptions
-
-
-
-
Field Detail
-
nodesModifications
protected final ThreadLocal<ArrayDeque<tigase.xml.Element>> nodesModifications
-
-
Method Detail
-
filterOutPacket
public boolean filterOutPacket(tigase.server.Packet packet)
- Specified by:
filterOutPacketin interfaceStrategyIfc
-
getNodeForServiceNode
public tigase.xmpp.jid.JID getNodeForServiceNode(tigase.xmpp.jid.JID serviceJid, String node)
-
getNodesForPacket
public List<tigase.xmpp.jid.JID> getNodesForPacket(tigase.server.Packet packet)
- Specified by:
getNodesForPacketin interfaceStrategyIfc
-
isLocalNode
public boolean isLocalNode(tigase.xmpp.jid.BareJID serviceJid, String node)- Specified by:
isLocalNodein interfaceStrategyIfc
-
isOnlineLocally
public boolean isOnlineLocally(tigase.xmpp.jid.JID jid)
- Specified by:
isOnlineLocallyin interfaceStrategyIfc
-
nodeAddedToCollection
public void nodeAddedToCollection(tigase.xmpp.jid.BareJID serviceJid, String nodeName, String collection)- Specified by:
nodeAddedToCollectionin interfaceStrategyIfc
-
nodeAddedToRootCollection
public void nodeAddedToRootCollection(tigase.xmpp.jid.BareJID serviceJid, String nodeName)- Specified by:
nodeAddedToRootCollectionin interfaceStrategyIfc
-
nodeRemovedFromCollection
public void nodeRemovedFromCollection(tigase.xmpp.jid.BareJID serviceJid, String nodeName, String collection)- Specified by:
nodeRemovedFromCollectionin interfaceStrategyIfc
-
nodeRemovedFromRootCollection
public void nodeRemovedFromRootCollection(tigase.xmpp.jid.BareJID serviceJid, String nodeName)- Specified by:
nodeRemovedFromRootCollectionin interfaceStrategyIfc
-
nodeConfigurationChanged
public void nodeConfigurationChanged(tigase.xmpp.jid.BareJID serviceJid, String nodeName)- Specified by:
nodeConfigurationChangedin interfaceStrategyIfc
-
nodeAffiliationsChanged
public void nodeAffiliationsChanged(tigase.xmpp.jid.BareJID serviceJid, String nodeName, Map<tigase.xmpp.jid.BareJID,tigase.pubsub.repository.stateless.UsersAffiliation> changedAffiliations)- Specified by:
nodeAffiliationsChangedin interfaceStrategyIfc
-
nodeSubscriptionsChanged
public void nodeSubscriptionsChanged(tigase.xmpp.jid.BareJID serviceJid, String nodeName, Map<tigase.xmpp.jid.BareJID,tigase.pubsub.repository.stateless.UsersSubscription> changedSubscriptions)- Specified by:
nodeSubscriptionsChangedin interfaceStrategyIfc
-
notifyNodeConfigurationChanges
public void notifyNodeConfigurationChanges()
-
packetProcessed
public void packetProcessed()
- Specified by:
packetProcessedin interfaceStrategyIfc- Overrides:
packetProcessedin classAbstractStrategy
-
userRemoved
public void userRemoved(tigase.xmpp.jid.BareJID serviceJid)
- Specified by:
userRemovedin interfaceStrategyIfc
-
-