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
PubSubComponent.PacketHashCodeGenerator
-
Nested classes/interfaces inherited from class tigase.component.AbstractKernelBasedComponent
tigase.component.AbstractKernelBasedComponent.DefaultPacketWriter
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_LEAF_NODE_CONFIG_KEY
protected LeafNodeConfig
defaultNodeConfig
static java.lang.String
EVENT_XMLNS
protected java.lang.Integer
maxRepositoryCacheSize
-
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
-
-
Constructor Summary
Constructors Constructor Description PubSubComponent()
-
Method Summary
All Methods Instance Methods Concrete Methods 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
everyHour()
void
everyMinute()
void
everySecond()
java.lang.String
getComponentVersion()
java.lang.String
getDiscoCategory()
java.lang.String
getDiscoCategoryType()
java.lang.String
getDiscoDescription()
void
getStatistics(tigase.stats.StatisticsList list)
int
hashCodeForPacket(tigase.server.Packet packet)
void
initBindings(javax.script.Bindings binds)
boolean
isDiscoNonAdmin()
boolean
isSubdomain()
void
onChangeDefaultNodeConfig(DefaultConfigCommand.DefaultNodeConfigurationChangedEvent event)
void
onUserRemoved(tigase.db.UserRepository.UserRemovedEvent event)
int
processingInThreads()
int
processingOutThreads()
void
processPacket(tigase.server.Packet packet)
boolean
processScriptCommand(tigase.server.Packet pc, java.util.Queue<tigase.server.Packet> results)
protected void
registerModules(tigase.kernel.core.Kernel kernel)
void
setName(java.lang.String name)
void
setPubsubRepository(IPubSubRepository pubsubRepository)
void
start()
void
stop()
-
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
-
-
-
-
Field Detail
-
DEFAULT_LEAF_NODE_CONFIG_KEY
public static final java.lang.String DEFAULT_LEAF_NODE_CONFIG_KEY
- See Also:
- Constant Field Values
-
EVENT_XMLNS
public static final java.lang.String EVENT_XMLNS
- See Also:
- Constant Field Values
-
defaultNodeConfig
@Inject(bean="defaultNodeConfig") protected LeafNodeConfig defaultNodeConfig
-
maxRepositoryCacheSize
protected java.lang.Integer maxRepositoryCacheSize
-
-
Method Detail
-
everyHour
public void everyHour()
- Overrides:
everyHour
in classtigase.server.AbstractMessageReceiver
-
everyMinute
public void everyMinute()
- Overrides:
everyMinute
in classtigase.server.AbstractMessageReceiver
-
everySecond
public void everySecond()
- Overrides:
everySecond
in classtigase.server.AbstractMessageReceiver
-
getComponentVersion
public java.lang.String getComponentVersion()
- Overrides:
getComponentVersion
in classtigase.component.AbstractKernelBasedComponent
-
getDiscoCategory
public java.lang.String getDiscoCategory()
- Overrides:
getDiscoCategory
in classtigase.server.BasicComponent
-
getDiscoCategoryType
public java.lang.String getDiscoCategoryType()
- Overrides:
getDiscoCategoryType
in classtigase.server.BasicComponent
-
getDiscoDescription
public java.lang.String getDiscoDescription()
- Overrides:
getDiscoDescription
in classtigase.server.BasicComponent
-
getStatistics
public void getStatistics(tigase.stats.StatisticsList list)
- Specified by:
getStatistics
in interfacetigase.stats.StatisticsContainerIfc
- Overrides:
getStatistics
in classtigase.server.AbstractMessageReceiver
-
hashCodeForPacket
public int hashCodeForPacket(tigase.server.Packet packet)
- Overrides:
hashCodeForPacket
in classtigase.server.AbstractMessageReceiver
-
initBindings
public void initBindings(javax.script.Bindings binds)
- Overrides:
initBindings
in classtigase.component.AbstractKernelBasedComponent
-
isDiscoNonAdmin
public boolean isDiscoNonAdmin()
- Specified by:
isDiscoNonAdmin
in classtigase.component.AbstractKernelBasedComponent
-
isSubdomain
public boolean isSubdomain()
- Overrides:
isSubdomain
in classtigase.server.BasicComponent
-
onChangeDefaultNodeConfig
@HandleEvent public void onChangeDefaultNodeConfig(DefaultConfigCommand.DefaultNodeConfigurationChangedEvent event)
-
processingInThreads
public int processingInThreads()
- Overrides:
processingInThreads
in classtigase.server.AbstractMessageReceiver
-
processingOutThreads
public int processingOutThreads()
- Overrides:
processingOutThreads
in classtigase.server.AbstractMessageReceiver
-
processPacket
public void processPacket(tigase.server.Packet packet)
- Overrides:
processPacket
in classtigase.component.AbstractKernelBasedComponent
-
processScriptCommand
public boolean processScriptCommand(tigase.server.Packet pc, java.util.Queue<tigase.server.Packet> results)
- Overrides:
processScriptCommand
in classtigase.server.BasicComponent
-
setName
public void setName(java.lang.String name)
- Specified by:
setName
in interfacetigase.server.ServerComponent
- Overrides:
setName
in classtigase.server.AbstractMessageReceiver
-
setPubsubRepository
public void setPubsubRepository(IPubSubRepository pubsubRepository)
-
start
public void start()
- Specified by:
start
in interfacetigase.server.MessageReceiver
- Overrides:
start
in classtigase.component.AbstractKernelBasedComponent
-
stop
public void stop()
- Overrides:
stop
in classtigase.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 classtigase.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
-
-