tigase.pubsub
Class PubSubClusterComponent

java.lang.Object
  extended by tigase.server.AbstractMessageReceiver
      extended by tigase.pubsub.PubSubComponent
          extended by tigase.pubsub.PubSubClusterComponent
All Implemented Interfaces:
tigase.cluster.ClusteredComponent, tigase.conf.Configurable, tigase.disco.XMPPService, DefaultNodeConfigListener, tigase.server.DisableDisco, tigase.server.MessageReceiver, tigase.server.ServerComponent, tigase.stats.StatisticsContainer, tigase.vhosts.VHostListener

public class PubSubClusterComponent
extends PubSubComponent
implements tigase.cluster.ClusteredComponent


Field Summary
protected  ClusterNodeMap nodeMap
           
protected  ListCache<java.lang.String,Command> waitingsCommands
           
 
Fields inherited from class tigase.pubsub.PubSubComponent
adHocCommandsModule, ADMINS_KEY, config, DEFAULT_LEAF_NODE_CONFIG_KEY, defaultConfigModule, defaultNodeConfig, directPubSubRepository, elementWriter, HOSTNAMES_PROP_VAL, log, manageAffiliationsModule, manageSubscriptionModule, modules, nodeConfigModule, nodeCreateModule, nodeDeleteModule, pendingSubscriptionModule, presenceCollectorModule, publishNodeModule, PUBSUB_REPO_CLASS_PROP_KEY, PUBSUB_REPO_URL_PROP_KEY, pubsubRepository, purgeItemsModule, retractItemModule, retrirveItemsModule, serviceEntity, subscribeNodeModule, unsubscribeNodeModule, userRepository, xslTransformer
 
Fields inherited from class tigase.server.AbstractMessageReceiver
HOUR, MAX_QUEUE_SIZE_PROP_KEY, MAX_QUEUE_SIZE_PROP_VAL, maxQueueSize, MINUTE, SECOND, vHostManager
 
Fields inherited from interface tigase.disco.XMPPService
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
 
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, COMPONENT_ID_PROP_KEY, DEF_BOSH_NAME, DEF_C2S_NAME, DEF_CL_COMP_NAME, DEF_CLUST_CONTR_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_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, NULL_ROUTING, 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, 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
 
Constructor Summary
PubSubClusterComponent()
           
 
Method Summary
 java.lang.String getComponentId()
           
protected  java.lang.String getFirstClusterNode()
           
protected static java.lang.String[] getParameters(java.lang.String name, java.util.Map<java.lang.String,java.lang.String> allMethodParams)
           
protected  void init()
           
 void initialize(java.lang.String[] admins, PubSubDAO pubSubDAO, IPubSubRepository createPubSubRepository, LeafNodeConfig defaultNodeConfig)
           
 void nodesConnected(java.util.Set<java.lang.String> node_hostnames)
           
 void nodesDisconnected(java.util.Set<java.lang.String> node_hostnames)
           
protected  void processMethodCall(tigase.cluster.ClusterElement clel)
           
 void processPacket(tigase.server.Packet packet)
           
protected  void sendAvailableJidsToNode(java.lang.String node)
           
protected  void sentBroadcast(tigase.server.Packet packet)
           
protected  boolean sentToNextNode(tigase.cluster.ClusterElement clel)
           
protected  boolean sentToNextNode(tigase.server.Packet packet)
           
protected  boolean sentToNode(tigase.server.Packet packet, java.lang.String cluster_node)
           
 
Methods inherited from class tigase.pubsub.PubSubComponent
createPubSubRepository, extractNodeName, getDefaults, getDiscoFeatures, getDiscoInfo, getDiscoItems, getStatistics, myDomain, onChangeDefaultNodeConfig, process, registerModule, runModules, setProperties
 
Methods inherited from class tigase.server.AbstractMessageReceiver
addOutPacket, addOutPacketNB, addOutPackets, addPacket, addPacketNB, addPackets, addRegexRouting, clearRegexRoutings, everyMinute, everySecond, getDefHostName, getMaxQueueSize, getName, getRegexRoutings, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initializationCompleted, isInRegexRoutings, isLocalDomain, isLocalDomainOrComponent, processPacket, release, removeRegexRouting, setMaxQueueSize, setName, setParent, setVHostManager, start, stop
 
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
getName, initializationCompleted, processPacket, release, setName
 
Methods inherited from interface tigase.conf.Configurable
getName
 

Field Detail

nodeMap

protected final ClusterNodeMap nodeMap

waitingsCommands

protected final ListCache<java.lang.String,Command> waitingsCommands
Constructor Detail

PubSubClusterComponent

public PubSubClusterComponent()
Method Detail

getParameters

protected static java.lang.String[] getParameters(java.lang.String name,
                                                  java.util.Map<java.lang.String,java.lang.String> allMethodParams)

getComponentId

public java.lang.String getComponentId()
Specified by:
getComponentId in interface tigase.server.ServerComponent
Overrides:
getComponentId in class tigase.server.AbstractMessageReceiver

getFirstClusterNode

protected java.lang.String getFirstClusterNode()

init

protected void init()
Overrides:
init in class PubSubComponent

initialize

public void initialize(java.lang.String[] admins,
                       PubSubDAO pubSubDAO,
                       IPubSubRepository createPubSubRepository,
                       LeafNodeConfig defaultNodeConfig)
                throws tigase.db.UserNotFoundException,
                       tigase.db.TigaseDBException,
                       RepositoryException
Overrides:
initialize in class PubSubComponent
Throws:
tigase.db.UserNotFoundException
tigase.db.TigaseDBException
RepositoryException

nodesConnected

public void nodesConnected(java.util.Set<java.lang.String> node_hostnames)
Specified by:
nodesConnected in interface tigase.cluster.ClusteredComponent

nodesDisconnected

public void nodesDisconnected(java.util.Set<java.lang.String> node_hostnames)
Specified by:
nodesDisconnected in interface tigase.cluster.ClusteredComponent

processMethodCall

protected void processMethodCall(tigase.cluster.ClusterElement clel)
                          throws RepositoryException,
                                 tigase.xmpp.PacketErrorTypeException
Throws:
RepositoryException
tigase.xmpp.PacketErrorTypeException

processPacket

public void processPacket(tigase.server.Packet packet)
Overrides:
processPacket in class PubSubComponent

sendAvailableJidsToNode

protected void sendAvailableJidsToNode(java.lang.String node)

sentBroadcast

protected void sentBroadcast(tigase.server.Packet packet)

sentToNextNode

protected boolean sentToNextNode(tigase.cluster.ClusterElement clel)

sentToNextNode

protected boolean sentToNextNode(tigase.server.Packet packet)

sentToNode

protected boolean sentToNode(tigase.server.Packet packet,
                             java.lang.String cluster_node)


Copyright © 2008-2009 Tigase. All Rights Reserved.