Package tigase.pubsub

Class PubSubComponent

java.lang.Object
tigase.server.BasicComponent
tigase.server.AbstractMessageReceiver
tigase.component.AbstractKernelBasedComponent
tigase.pubsub.PubSubComponent
All Implemented Interfaces:
tigase.cluster.api.ClusteredComponentIfc, tigase.conf.Configurable, tigase.disco.XMPPService, tigase.kernel.beans.config.ConfigurationChangedAware, tigase.kernel.beans.Initializable, tigase.kernel.beans.RegistrarBean, tigase.server.DisableDisco, tigase.server.MessageReceiver, tigase.server.PacketWriterWithTimeout, tigase.server.ServerComponent, tigase.stats.StatisticsContainer, tigase.stats.StatisticsContainerIfc, tigase.vhosts.VHostListener

@Bean(name="pubsub", parent=tigase.kernel.core.Kernel.class, active=true) @ConfigType(DefaultMode) @ClusterModeRequired(active=false) public class PubSubComponent extends tigase.component.AbstractKernelBasedComponent implements tigase.conf.Configurable, tigase.server.DisableDisco
Class description
Version:
5.1.0, 2010.11.02 at 01:05:02 MDT
Author:
Artur Hefczyc
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static interface 
     

    Nested classes/interfaces inherited from class tigase.component.AbstractKernelBasedComponent

    tigase.component.AbstractKernelBasedComponent.DefaultPacketWriter

    Nested classes/interfaces inherited from class tigase.server.BasicComponent

    tigase.server.BasicComponent.ServerInfoVHostItemExtension

    Nested classes/interfaces inherited from interface tigase.server.PacketWriterWithTimeout

    tigase.server.PacketWriterWithTimeout.Handler
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
     
    protected LeafNodeConfig
     
    static final String
     
    protected Integer
     

    Fields inherited from class tigase.component.AbstractKernelBasedComponent

    eventBus, kernel, log

    Fields inherited from class tigase.server.AbstractMessageReceiver

    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, PACKET_DELIVERY_RETRY_COUNT_PROP_KEY, SCHEDULER_THREADS_PROP_KEY, SECOND

    Fields inherited from class tigase.server.BasicComponent

    admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, scriptEngineManager, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManager

    Fields inherited from interface tigase.conf.Configurable

    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_EVENTBUS_NAME, DEF_EXT_COMP_NAME, DEF_HOSTNAME_PROP_KEY, DEF_MONITOR_NAME, DEF_S2S_NAME, DEF_SM_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, EVENTBUS_CLASS_NAME, 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, 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

    Fields inherited from interface tigase.disco.XMPPService

    CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected boolean
    checkPubSubServiceJid(tigase.server.Packet packet)
    Method checks if packet is sent to pubsub@xxx and if so then it returns error as we no longer allow usage of pubsub@xxx address as pubsub service jid since we added support to use PEP and we have multiple domains support with separated nodes.
    void
     
    void
     
    void
     
     
     
     
     
    void
    getStatistics(tigase.stats.StatisticsList list)
     
    int
    hashCodeForPacket(tigase.server.Packet packet)
     
    void
     
    boolean
     
    boolean
     
    void
     
    void
    onUserRemoved(tigase.db.UserRepository.UserRemovedEvent event)
     
    int
     
    int
     
    void
    processPacket(tigase.server.Packet packet)
     
    boolean
    processScriptCommand(tigase.server.Packet pc, Queue<tigase.server.Packet> results)
     
    protected void
    registerModules(tigase.kernel.core.Kernel kernel)
     
    void
     
    void
     
    void
     
    void
     

    Methods inherited from class tigase.component.AbstractKernelBasedComponent

    createScriptEngineManager, getKernel, register, unregister, updateServiceEntity

    Methods inherited from class tigase.server.AbstractMessageReceiver

    addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, beanConfigurationChanged, clearRegexRoutings, getMaxQueueSize, getRegexRoutings, getResourceForPacketWithTimeout, isInRegexRoutings, newPacketId, processOutPacket, processPacket, release, removeRegexRouting, schedulerThreads, setCompId, setIncoming_filters, setOutgoing_filters, setParent, setSchedulerThreads_size, updateFiltersName

    Methods inherited from class tigase.server.BasicComponent

    addComponentDomain, canCallCommand, canCallCommand, checkCommandAcl, checkCommandAcl, getComponentId, getComponentInfo, getDefaults, getDefHostName, getDefVHostItem, getDiscoExtensionsForm, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getServiceEntityCaps, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initializationCompleted, initialize, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, reloadScripts, removeComponentDomain, removeServiceDiscoveryItem, setAdmins, setClusterController, setCommandsACL, setProperties, setScriptsBaseDir, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface tigase.conf.Configurable

    getDefaults, setProperties

    Methods inherited from interface tigase.server.MessageReceiver

    getDefHostName

    Methods inherited from interface tigase.server.ServerComponent

    getComponentId, getComponentInfo, getName, initializationCompleted, isInitializationComplete, processPacket, release

    Methods inherited from interface tigase.stats.StatisticsContainerIfc

    getName

    Methods inherited from interface tigase.disco.XMPPService

    getDiscoFeatures, getDiscoInfo, getDiscoItems
  • Field Details

  • Constructor Details

    • PubSubComponent

      public PubSubComponent()
  • Method Details

    • everyHour

      public void everyHour()
      Overrides:
      everyHour in class tigase.server.AbstractMessageReceiver
    • everyMinute

      public void everyMinute()
      Overrides:
      everyMinute in class tigase.server.AbstractMessageReceiver
    • everySecond

      public void everySecond()
      Overrides:
      everySecond in class tigase.server.AbstractMessageReceiver
    • getComponentVersion

      public String getComponentVersion()
      Overrides:
      getComponentVersion in class tigase.component.AbstractKernelBasedComponent
    • getDiscoCategory

      public String getDiscoCategory()
      Overrides:
      getDiscoCategory in class tigase.server.BasicComponent
    • getDiscoCategoryType

      public String getDiscoCategoryType()
      Overrides:
      getDiscoCategoryType in class tigase.server.BasicComponent
    • getDiscoDescription

      public String getDiscoDescription()
      Overrides:
      getDiscoDescription in class tigase.server.BasicComponent
    • getStatistics

      public void getStatistics(tigase.stats.StatisticsList list)
      Specified by:
      getStatistics in interface tigase.stats.StatisticsContainerIfc
      Overrides:
      getStatistics in class tigase.server.AbstractMessageReceiver
    • hashCodeForPacket

      public int hashCodeForPacket(tigase.server.Packet packet)
      Overrides:
      hashCodeForPacket in class tigase.server.AbstractMessageReceiver
    • initBindings

      public void initBindings(Bindings binds)
      Overrides:
      initBindings in class tigase.component.AbstractKernelBasedComponent
    • isDiscoNonAdmin

      public boolean isDiscoNonAdmin()
      Specified by:
      isDiscoNonAdmin in class tigase.component.AbstractKernelBasedComponent
    • isSubdomain

      public boolean isSubdomain()
      Overrides:
      isSubdomain in class tigase.server.BasicComponent
    • onChangeDefaultNodeConfig

      @HandleEvent public void onChangeDefaultNodeConfig(DefaultConfigCommand.DefaultNodeConfigurationChangedEvent event)
    • processingInThreads

      public int processingInThreads()
      Overrides:
      processingInThreads in class tigase.server.AbstractMessageReceiver
    • processingOutThreads

      public int processingOutThreads()
      Overrides:
      processingOutThreads in class tigase.server.AbstractMessageReceiver
    • processPacket

      public void processPacket(tigase.server.Packet packet)
      Overrides:
      processPacket in class tigase.component.AbstractKernelBasedComponent
    • processScriptCommand

      public boolean processScriptCommand(tigase.server.Packet pc, Queue<tigase.server.Packet> results)
      Overrides:
      processScriptCommand in class tigase.server.BasicComponent
    • setName

      public void setName(String name)
      Specified by:
      setName in interface tigase.server.ServerComponent
      Overrides:
      setName in class tigase.server.AbstractMessageReceiver
    • setPubsubRepository

      public void setPubsubRepository(IPubSubRepository pubsubRepository)
    • start

      public void start()
      Specified by:
      start in interface tigase.server.MessageReceiver
      Overrides:
      start in class tigase.component.AbstractKernelBasedComponent
    • stop

      public void stop()
      Overrides:
      stop in class tigase.server.AbstractMessageReceiver
    • onUserRemoved

      @HandleEvent public void onUserRemoved(tigase.db.UserRepository.UserRemovedEvent event)
    • registerModules

      protected void registerModules(tigase.kernel.core.Kernel kernel)
      Specified by:
      registerModules in class tigase.component.AbstractKernelBasedComponent
    • checkPubSubServiceJid

      protected boolean checkPubSubServiceJid(tigase.server.Packet packet)
      Method checks if packet is sent to pubsub@xxx and if so then it returns error as we no longer allow usage of pubsub@xxx address as pubsub service jid since we added support to use PEP and we have multiple domains support with separated nodes.
      Parameters:
      packet - packet to check
      Returns:
      true - if packet service jid is ok and should be processed