@Bean(name="cluster-contr", parent=Kernel.class, active=true, exportable=true) @ConfigType(value={DefaultMode,SessionManagerMode,ConnectionManagersMode,ComponentMode}) @ClusterModeRequired(active=true) public class ClusterController extends AbstractComponentRegistrator<ClusteredComponentIfc> implements Configurable, ClusterControllerIfc
BasicComponent.ServerInfoVHostItemExtension
Modifier and Type | Field and Description |
---|---|
static String |
MY_DOMAIN_NAME_PROP_KEY |
static String |
MY_DOMAIN_NAME_PROP_VAL |
components
admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, scriptEngineManager, 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_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
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. |
String |
getDiscoCategoryType()
Method returns component category type used for service discovery responses.
|
String |
getDiscoDescription()
Method returns description used for service discovery responses.
|
void |
handleClusterPacket(Element packet)
Method handles cluster packet received from cluster connection.
|
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) |
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) |
void |
setName(String name)
Method used to assign component name (localpart of the component)
|
addComponent, deleteComponent, getComponent, newPacketId, release
addComponentDomain, beanConfigurationChanged, canCallCommand, canCallCommand, checkCommandAcl, checkCommandAcl, createScriptEngineManager, everyHour, everyMinute, everySecond, getComponentId, getComponentInfo, getDefaults, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoExtensionsForm, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getServiceEntityCaps, getStatistics, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initBindings, initializationCompleted, initialize, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, onNodeConnected, onNodeDisconnected, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setAdmins, setClusterController, setCommandsACL, setCompId, setProperties, setScriptsBaseDir, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDefaults, setProperties
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)
removeCommandListener
in interface ClusterControllerIfc
public 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 String getDiscoCategoryType()
BasicComponent
getDiscoCategoryType
in class BasicComponent
public String getDiscoDescription()
BasicComponent
getDiscoDescription
in class BasicComponent
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)
setCommandListener
in interface ClusterControllerIfc
public void setName(String name)
ServerComponent
setName
in interface ServerComponent
setName
in class BasicComponent
name
- to be assignedCopyright © 2004–2021 "Tigase, Inc.". All rights reserved.