public class EventBusComponent extends AbstractComponent<EventBusContext> implements ClusteredComponentIfc
Modifier and Type | Field and Description |
---|---|
static String |
COMPONENT_EVENTS_XMLNS |
COMPONENT, context, defaultScriptCommandProcessor, log, modulesManager, writer
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, SCHEDULER_THREADS_PROP_KEY, SECOND
admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, vHostManager
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
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_EXT_COMP_NAME, DEF_HOSTNAME_PROP_KEY, DEF_MONITOR_NAME, DEF_S2S_NAME, DEF_SM_NAME, DEF_SRECV_NAME, DEF_SSEND_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, 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, SRECV_COMP_CLASS_NAME, SSEND_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 and Description |
---|
EventBusComponent() |
Modifier and Type | Method and Description |
---|---|
protected EventBusContext |
createContext()
Creates
Context particular for component implementation. |
void |
everyMinute()
Utility method executed precisely every minute.
|
void |
everySecond()
Utility method executed precisely every second.
|
String |
getComponentVersion()
Returns version of component.
|
protected Map<String,Class<? extends Module>> |
getDefaultModulesList()
Returns default map of components.
|
String |
getDiscoCategory()
Method description
|
String |
getDiscoCategoryType()
Method description
|
String |
getDiscoDescription()
Method description
|
void |
getStatistics(StatisticsList list)
Method returns component statistics.
|
boolean |
isDiscoNonAdmin()
Is this component discoverable by disco#items for domain by non admin
users.
|
boolean |
isSubdomain()
Method returns true is component should be represented as subdomain
|
void |
nodeConnected(String node)
Method is called on cluster node connection event.
|
void |
nodeDisconnected(String node)
Method is called on cluster node disconnection event.
|
void |
processPacket(Packet packet)
This is the main
Packet processing method. |
void |
setClusterController(ClusterControllerIfc cl_controller)
Set's the configures the cluster controller object for cluster
communication and API.
|
addOutPacket, createModuleInstance, getContext, getDefaults, getModuleProvider, getWriter, initBindings, initModules, isRegistered, registerModule, sendException, setProperties, updateServiceEntity
addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTask, clearRegexRoutings, everyHour, getMaxQueueSize, getRegexRoutings, hashCodeForPacket, isInRegexRoutings, newPacketId, processingInThreads, processingOutThreads, processingThreads, processOutPacket, processPacket, release, removeRegexRouting, schedulerThreads, setMaxQueueSize, setName, setParent, start, stop
addComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getScriptCommands, getScriptItems, getServiceEntity, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initializationCompleted, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getComponentId, getComponentInfo, getName, initializationCompleted, isInitializationComplete, processPacket, release, setName
getDiscoFeatures, getDiscoInfo, getDiscoItems
getDefHostName
public static final String COMPONENT_EVENTS_XMLNS
protected EventBusContext createContext()
AbstractComponent
Context
particular for component implementation. Called
once.createContext
in class AbstractComponent<EventBusContext>
public void everyMinute()
AbstractMessageReceiver
everyMinute
in class AbstractComponent<EventBusContext>
public void everySecond()
AbstractMessageReceiver
everySecond
in class AbstractMessageReceiver
public String getComponentVersion()
AbstractComponent
getComponentVersion
in class AbstractComponent<EventBusContext>
protected Map<String,Class<? extends Module>> getDefaultModulesList()
AbstractComponent
init.properties
:<component_name>/modules/<module_name>[S]=<module_class>
getDefaultModulesList
in class AbstractComponent<EventBusContext>
public String getDiscoCategory()
BasicComponent
getDiscoCategory
in class BasicComponent
String
public String getDiscoCategoryType()
BasicComponent
getDiscoCategoryType
in class BasicComponent
String
public String getDiscoDescription()
BasicComponent
getDiscoDescription
in class BasicComponent
String
public void getStatistics(StatisticsList list)
AbstractMessageReceiver
Level.FINEST
assigned and must be put inside the level guard
to prevent generating them by the system monitor. The system monitor does
not collect FINEST
statistics.
Level guard code looks like the example below:
if (list.checkLevel(Level.FINEST)) { // Some CPU intensive calculations or lengthy operations list.add(getName(), "Statistic description", stat_value, Level.FINEST); }This way you make sure your extensive operation is not executed every second by the monitoring system and does not affect the server performance.
getStatistics
in interface StatisticsContainer
getStatistics
in class AbstractMessageReceiver
list
- is a StatistcsList
where all statistics are stored.public boolean isDiscoNonAdmin()
AbstractComponent
isDiscoNonAdmin
in class AbstractComponent<EventBusContext>
true
- if yespublic boolean isSubdomain()
BasicComponent
isSubdomain
in class BasicComponent
boolean
public void nodeConnected(String node)
ClusteredComponentIfc
nodeConnected
in interface ClusteredComponentIfc
node
- is a hostname of a cluster node generating the event.public void nodeDisconnected(String node)
ClusteredComponentIfc
nodeDisconnected
in interface ClusteredComponentIfc
node
- is a hostname of a cluster node generating the event.public void processPacket(Packet packet)
AbstractComponent
Packet
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, the Packet
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 the Packet
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 using addOutPacket(Packet)
method.processPacket
in class AbstractComponent<EventBusContext>
packet
- is an instance of the Packet
class passed for
processing.public void setClusterController(ClusterControllerIfc cl_controller)
ClusteredComponentIfc
setClusterController
in interface ClusteredComponentIfc
Copyright © 2014 "Tigase, Inc.". All rights reserved.