public class ClusterController extends AbstractComponentRegistrator<ClusteredComponentIfc> implements Configurable, ClusterControllerIfc
Modifier and Type | Field and Description |
---|---|
static String |
MY_DOMAIN_NAME_PROP_KEY
Field description
|
static String |
MY_DOMAIN_NAME_PROP_VAL
Field description
|
components
admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManager
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_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, 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, 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
DELIVER_CLUSTER_PACKET_CMD
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
Constructor and Description |
---|
ClusterController() |
Modifier and Type | Method and Description |
---|---|
void |
componentAdded(ClusteredComponentIfc component)
Method provides a callback mechanism signaling that a new component implementing
special interface has been added to the internal
components collection. |
void |
componentRemoved(ClusteredComponentIfc component)
Method provides a callback mechanism signaling that a component implementing
special interface has been removed from the internal
components
collection. |
Map<String,Object> |
getDefaults(Map<String,Object> params)
Returns default configuration settings for the component as a
Map with keys as configuration property IDs and values as the
configuration property values. |
String |
getDiscoCategoryType()
Method description
|
String |
getDiscoDescription()
Method description
|
void |
handleClusterPacket(Element packet)
Method description
|
boolean |
isCorrectType(ServerComponent component)
Method checks whether the component provides as method parameter is correct type
that is implements special interface or extends special class.
|
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,
Queue<Packet> results)
processPacket is a blocking processing method implemented
by all components. |
void |
removeCommandListener(CommandListener listener)
Method description
|
void |
sendToNodes(String command,
Element packet,
JID fromNode,
Set<JID> visitedNodes,
JID... toNodes)
Method which sends command to desired nodes
|
void |
sendToNodes(String command,
JID fromNode,
JID... toNodes)
Method which sends command to desired nodes
|
void |
sendToNodes(String command,
Map<String,String> data,
Element packet,
JID fromNode,
Set<JID> visitedNodes,
JID... toNodes)
Method which sends command to desired nodes
|
void |
sendToNodes(String command,
Map<String,String> data,
JID fromNode,
JID... toNodes)
Method which sends command to desired nodes
|
void |
sendToNodes(String command,
Map<String,String> data,
JID fromNode,
Set<JID> visitedNodes,
JID... toNodes)
Method which sends command to desired nodes
|
void |
sendToNodes(String command,
Map<String,String> data,
Queue<Element> packets,
JID fromNode,
Set<JID> visitedNodes,
JID... toNodes)
Method which sends command to desired nodes
|
void |
sendToNodes(String command,
Queue<Element> packets,
JID fromNode,
Set<JID> visitedNodes,
JID... toNodes)
Method which sends command to desired nodes
|
void |
setCommandListener(CommandListener listener)
Method description
|
void |
setName(String name)
Method description
|
void |
setProperties(Map<String,Object> properties)
Sets all configuration properties for the object.
|
addComponent, deleteComponent, getComponent, newPacketId, release
addComponentDomain, canCallCommand, checkCommandAcl, everyHour, everyMinute, everySecond, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getStatistics, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initBindings, initializationCompleted, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, onNodeConnected, onNodeDisconnected, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setClusterController, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getComponentId, getComponentInfo, getName, initializationCompleted, isInitializationComplete, release
public static final String MY_DOMAIN_NAME_PROP_KEY
public static final String MY_DOMAIN_NAME_PROP_VAL
public void componentAdded(ClusteredComponentIfc component)
AbstractComponentRegistrator
components
collection.componentAdded
in class AbstractComponentRegistrator<ClusteredComponentIfc>
component
- is a reference to the component just added to the collection.public void componentRemoved(ClusteredComponentIfc component)
AbstractComponentRegistrator
components
collection.componentRemoved
in class AbstractComponentRegistrator<ClusteredComponentIfc>
component
- is a reference to the component removed from the collection.public void handleClusterPacket(Element packet)
ClusterControllerIfc
handleClusterPacket
in interface ClusterControllerIfc
packet
- which should be handledpublic void nodeConnected(String node)
ClusteredComponentIfc
nodeConnected
in interface ClusterControllerIfc
nodeConnected
in interface ClusteredComponentIfc
nodeConnected
in class BasicComponent
node
- is a hostname of a cluster node generating the event.public void nodeDisconnected(String node)
ClusteredComponentIfc
nodeDisconnected
in interface ClusterControllerIfc
nodeDisconnected
in interface ClusteredComponentIfc
nodeDisconnected
in class BasicComponent
node
- is a hostname of a cluster node generating the event.public void processPacket(Packet packet, Queue<Packet> results)
ServerComponent
processPacket
is a blocking processing method implemented
by all components. This method processes packet and returns results
instantly without waiting for any resources.processPacket
in interface ServerComponent
processPacket
in class BasicComponent
packet
- a Packet
valuepublic void removeCommandListener(CommandListener listener)
ClusterControllerIfc
removeCommandListener
in interface ClusterControllerIfc
listener
- CommandListener objectpublic void sendToNodes(String command, Map<String,String> data, Queue<Element> packets, JID fromNode, Set<JID> visitedNodes, JID... toNodes)
ClusterControllerIfc
sendToNodes
in interface ClusterControllerIfc
command
- ID string of the commanddata
- additional data to be included in the packetpackets
- collection of elements to be send to desired nodesfromNode
- address of the source nodevisitedNodes
- list of all already visited nodestoNodes
- list of nodes to which packet should be sentpublic void sendToNodes(String command, Queue<Element> packets, JID fromNode, Set<JID> visitedNodes, JID... toNodes)
ClusterControllerIfc
sendToNodes
in interface ClusterControllerIfc
command
- ID string of the commandpackets
- collection of elements to be send to desired nodesfromNode
- address of the source nodevisitedNodes
- list of all already visited nodestoNodes
- list of nodes to which packet should be sentpublic void sendToNodes(String command, Map<String,String> data, JID fromNode, Set<JID> visitedNodes, JID... toNodes)
ClusterControllerIfc
sendToNodes
in interface ClusterControllerIfc
command
- ID string of the commanddata
- additional data to be included in the packetfromNode
- address of the source nodevisitedNodes
- list of all already visited nodestoNodes
- list of nodes to which packet should be sentpublic void sendToNodes(String command, Map<String,String> data, JID fromNode, JID... toNodes)
ClusterControllerIfc
sendToNodes
in interface ClusterControllerIfc
command
- ID string of the commanddata
- additional data to be included in the packetfromNode
- address of the source nodetoNodes
- list of nodes to which packet should be sentpublic void sendToNodes(String command, JID fromNode, JID... toNodes)
ClusterControllerIfc
sendToNodes
in interface ClusterControllerIfc
command
- ID string of the commandfromNode
- address of the source nodetoNodes
- list of nodes to which packet should be sentpublic void sendToNodes(String command, Element packet, JID fromNode, Set<JID> visitedNodes, JID... toNodes)
ClusterControllerIfc
sendToNodes
in interface ClusterControllerIfc
command
- ID string of the commandpacket
- collection of elements to be send to desired nodesfromNode
- address of the source nodevisitedNodes
- list of all already visited nodestoNodes
- list of nodes to which packet should be sentpublic void sendToNodes(String command, Map<String,String> data, Element packet, JID fromNode, Set<JID> visitedNodes, JID... toNodes)
ClusterControllerIfc
sendToNodes
in interface ClusterControllerIfc
command
- ID string of the commanddata
- additional data to be included in the packetpacket
- element to be send to desired nodesfromNode
- address of the source nodevisitedNodes
- list of all already visited nodestoNodes
- list of nodes to which packet should be sentpublic Map<String,Object> getDefaults(Map<String,Object> params)
Configurable
Map
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 the setProperties(...)
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
.getDefaults
in interface Configurable
getDefaults
in class BasicComponent
params
- is a Map
with some initial properties set for the
starting up server. These parameters can be used as a hints to
generate component's default configuration.Map
with the component default configuration.public String getDiscoCategoryType()
BasicComponent
getDiscoCategoryType
in class BasicComponent
String
public String getDiscoDescription()
BasicComponent
getDiscoDescription
in class BasicComponent
String
public boolean isCorrectType(ServerComponent component)
AbstractComponentRegistrator
components
collection.isCorrectType
in class AbstractComponentRegistrator<ClusteredComponentIfc>
component
- is a reference to the component being checked.boolean
value of true
if the component is of a
correct type and false
otherwise.public void setCommandListener(CommandListener listener)
ClusterControllerIfc
setCommandListener
in interface ClusterControllerIfc
listener
- CommandListener objectpublic void setName(String name)
ServerComponent
setName
in interface ServerComponent
setName
in class BasicComponent
public void setProperties(Map<String,Object> properties) throws ConfigurationException
Configurable
setProperties
in interface Configurable
setProperties
in class BasicComponent
properties
- Map
with the configurationConfigurationException
- - if setting configuration will
fail which will make it unable
to workCopyright © 2019 "Tigase, Inc.". All rights reserved.