Package tigase.component
Class AbstractComponent
java.lang.Object
tigase.server.BasicComponent
tigase.server.AbstractMessageReceiver
tigase.component.AbstractComponent
- All Implemented Interfaces:
ClusteredComponentIfc
,Configurable
,XMPPService
,ConfigurationChangedAware
,Initializable
,DisableDisco
,MessageReceiver
,PacketWriterWithTimeout
,ServerComponent
,StatisticsContainer
,StatisticsContainerIfc
,VHostListener
@Deprecated
public abstract class AbstractComponent
extends AbstractMessageReceiver
implements XMPPService, DisableDisco
Deprecated.
Base class for implement XMPP Component.
- Author:
- bmalkow
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class tigase.server.BasicComponent
BasicComponent.ServerInfoVHostItemExtension
Nested classes/interfaces inherited from interface tigase.server.PacketWriterWithTimeout
PacketWriterWithTimeout.Handler
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final String
Deprecated.protected EventBus
Deprecated.protected final Logger
Deprecated.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 -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addOutPacket
(Packet packet, AsyncCallback asyncCallback) Deprecated.void
Deprecated.Utility method executed precisely every minute.abstract String
Deprecated.Returns version of component.Deprecated.Returns default map of components.getDefaults
(Map<String, Object> params) Deprecated.Returns default configuration settings for the component as aMap
with keys as configuration property IDs and values as the configuration property values.Deprecated.Deprecated.Deprecated.void
initBindings
(Bindings binds) Deprecated.Initialize a mapping of key/value pairs which can be used in scripts loaded by the serverprotected void
initModules
(Map<String, Object> props) Deprecated.abstract boolean
Deprecated.Is this component discoverable by disco#items for domain by non admin users.void
processPacket
(Packet packet) Deprecated.This is the mainPacket
processing method.void
setEventBus
(EventBus eventBus) Deprecated.void
Deprecated.void
setProperties
(Map<String, Object> props) Deprecated.Sets all configuration properties for the object.void
setResponseManager
(ResponseManager responseManager) Deprecated.void
setStanzaProcessor
(StanzaProcessor stanzaProcessor) Deprecated.void
Deprecated.Methods inherited from class tigase.server.AbstractMessageReceiver
addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, beanConfigurationChanged, clearRegexRoutings, everyHour, everySecond, getMaxQueueSize, getRegexRoutings, getResourceForPacketWithTimeout, getStatistics, hashCodeForPacket, isInRegexRoutings, newPacketId, processingInThreads, processingOutThreads, processOutPacket, processPacket, release, removeRegexRouting, schedulerThreads, setCompId, setIncoming_filters, setName, setOutgoing_filters, setParent, setSchedulerThreads_size, start, stop, updateFiltersName
Methods inherited from class tigase.server.BasicComponent
addComponentDomain, canCallCommand, canCallCommand, checkCommandAcl, checkCommandAcl, createScriptEngineManager, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoCategoryType, getDiscoDescription, getDiscoExtensionsForm, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getServiceEntityCaps, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initializationCompleted, initialize, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processScriptCommand, reloadScripts, removeComponentDomain, removeServiceDiscoveryItem, setAdmins, setClusterController, setCommandsACL, 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.server.MessageReceiver
getDefHostName
Methods inherited from interface tigase.server.ServerComponent
getComponentId, getComponentInfo, getName, initializationCompleted, isInitializationComplete, processPacket, release, setName
Methods inherited from interface tigase.stats.StatisticsContainerIfc
getName
Methods inherited from interface tigase.disco.XMPPService
getDiscoFeatures, getDiscoInfo, getDiscoItems
-
Field Details
-
COMPONENT
Deprecated.- See Also:
-
log
Deprecated. -
eventBus
Deprecated.
-
-
Constructor Details
-
AbstractComponent
public AbstractComponent()Deprecated.
-
-
Method Details
-
everyMinute
public void everyMinute()Deprecated.Description copied from class:AbstractMessageReceiver
Utility method executed precisely every minute. A component can overwrite the method to put own code to be executed at the regular intervals of time.
Note, no extensive calculations should happen in this method nor long lasting operations. It is essential that the method processing does not exceed 1 minute. The overriding method must call the the super method first and only then run own code.- Overrides:
everyMinute
in classAbstractMessageReceiver
-
getComponentVersion
Deprecated.Returns version of component. Used for Service Discovery purposes.- Returns:
- version of component.
-
getDefaults
Deprecated.Description copied from interface:Configurable
Returns default configuration settings for the component as aMap
with keys as configuration property IDs and values as the configuration property values. All the default parameters returned from this method are later passed to thesetProperties(...)
method. Some of them may have changed value if they have been overwritten in the server configuration. The configuration property value can be of any of the basic types:int
,long
,boolean
,String
.- Specified by:
getDefaults
in interfaceConfigurable
- Overrides:
getDefaults
in classBasicComponent
- Parameters:
params
- is aMap
with some initial properties set for the starting up server. These parameters can be used as a hints to generate component's default configuration.- Returns:
- a
Map
with the component default configuration.
-
getKernel
Deprecated. -
setKernel
Deprecated. -
getResponseManager
Deprecated. -
setResponseManager
Deprecated. -
getStanzaProcessor
Deprecated. -
setStanzaProcessor
Deprecated. -
initBindings
Deprecated.Description copied from class:BasicComponent
Initialize a mapping of key/value pairs which can be used in scripts loaded by the server- Overrides:
initBindings
in classBasicComponent
- Parameters:
binds
- A mapping of key/value pairs, all of whose keys are Strings.
-
isDiscoNonAdmin
public abstract boolean isDiscoNonAdmin()Deprecated.Is this component discoverable by disco#items for domain by non admin users.- Returns:
true
- if yes
-
processPacket
Deprecated.Description copied from class:AbstractMessageReceiver
This is the mainPacket
processing method. It is called concurrently from many threads so implementing it in thread save manner is essential. The method is called for each packet addressed to the component.
Please note, thePacket
instance may be processed by different parts of the server, different components or plugins at the same time. Therefore this is very important to tread thePacket
instance as unmodifiable object.
Processing in this method is asynchronous, therefore there is no result value. If there are some 'result' packets generated during processing, they should be passed back usingaddOutPacket(Packet)
method.- Specified by:
processPacket
in classAbstractMessageReceiver
- Parameters:
packet
- is an instance of thePacket
class passed for processing.
-
setProperties
Deprecated.Description copied from interface:Configurable
Sets all configuration properties for the object.- Specified by:
setProperties
in interfaceConfigurable
- Overrides:
setProperties
in classBasicComponent
- Parameters:
props
-Map
with the configuration- Throws:
ConfigurationException
- - if setting configuration will fail which will make it unable to work
-
updateServiceEntity
public void updateServiceEntity()Deprecated.- Overrides:
updateServiceEntity
in classBasicComponent
-
setEventBus
Deprecated. -
addOutPacket
Deprecated. -
getDefaultModulesList
Deprecated.Returns default map of components. Keys in map are used as component identifiers.
This map may be modified byconfig.tdsl
:
<component_name>/modules/<module_name>[S]=<module_class>
- Returns:
- map of default modules.
-
initModules
protected void initModules(Map<String, Object> props) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetExceptionDeprecated.
-
AbstractKernelBasedComponent
instead. This class is here just because developer wants to know how some parts of code worked before migration to Kernel Based TCF.