@Bean(name="vhost-man", parent=Kernel.class, active=true, exportable=true) @ConfigType(value={DefaultMode,SessionManagerMode,ConnectionManagersMode,ComponentMode}) public class VHostManager extends AbstractComponentRegistrator<VHostListener> implements VHostManagerIfc, StatisticsContainer, RegistrarBean
Modifier and Type | Class and Description |
---|---|
static class |
VHostManager.DefVHostRepositoryBean |
BasicComponent.ServerInfoVHostItemExtension
Modifier and Type | Field and Description |
---|---|
protected VHostComponentRepository |
repo |
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
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
Constructor and Description |
---|
VHostManager()
Creates a new
VHostManager instance. |
Modifier and Type | Method and Description |
---|---|
void |
addComponentDomain(String domain)
Adds a component domain to the collection of local component domains.
|
void |
componentAdded(VHostListener component)
Method provides a callback mechanism signaling that a new component implementing special interface has been added
to the internal
components collection. |
void |
componentRemoved(VHostListener component)
Method provides a callback mechanism signaling that a component implementing special interface has been removed
from the internal
components collection. |
String |
generateSecret() |
List<JID> |
getAllVHosts()
Method returns a list of all hosted VHosts.
|
ComponentRepository<VHostItem> |
getComponentRepository() |
ServerComponent[] |
getComponentsForLocalDomain(String domain)
The method returns an array with server components which can process packets for a given local domain.
|
ServerComponent[] |
getComponentsForNonLocalDomain(String domain)
The method returns an array of server components which can process packets sent to non-local domain.
|
BareJID |
getDefVHostItem()
Method
getDefVHostItem returns a default VHost for the installation. |
String |
getDiscoCategoryType()
Method returns component category type used for service discovery responses.
|
String |
getDiscoDescription()
Method returns description used for service discovery responses.
|
void |
getStatistics(StatisticsList list) |
VHostItem |
getVHostItem(String domain)
Returns an object with all domain properties for given domain.
|
VHostItem |
getVHostItemDomainOrComponent(String domain)
Returns an object with all domain properties for a given domain or base domain if passed domain is name of
subdomain used by component.
|
void |
initBindings(Bindings binds)
Initialize a mapping of key/value pairs which can be used in scripts loaded by the server
|
void |
initializeRepository() |
boolean |
isAnonymousEnabled(String domain)
This method checks whether anonymous login is enabled for a given domain.
|
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.
|
boolean |
isLocalDomain(String domain)
This method checks whether given domain is server by this server instance.
|
boolean |
isLocalDomainOrComponent(String domain)
Method check if domains is locally hosted as a vhost or a component of a vhost.
|
void |
register(Kernel kernel)
Method called when bean is being registered allowing developer to programatically register other beans.
|
void |
removeComponentDomain(String domain)
Removes a domain previously registered by a component.
|
void |
setName(String name)
Method used to assign component name (localpart of the component)
|
void |
unregister(Kernel kernel)
Method called while bean is being unregistered.
|
addComponent, deleteComponent, getComponent, newPacketId, release
beanConfigurationChanged, canCallCommand, canCallCommand, checkCommandAcl, checkCommandAcl, createScriptEngineManager, everyHour, everyMinute, everySecond, getComponentId, getComponentInfo, getDefaults, getDefHostName, getDiscoCategory, getDiscoExtensionsForm, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getServiceEntityCaps, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, initializationCompleted, initialize, isAdmin, isInitializationComplete, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processPacket, processScriptCommand, removeServiceDiscoveryItem, setAdmins, setClusterController, setCommandsACL, setCompId, setProperties, setScriptsBaseDir, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getName
getComponentId, getComponentInfo, getName, initializationCompleted, isInitializationComplete, processPacket, release
@Inject protected VHostComponentRepository repo
public void addComponentDomain(String domain)
VHostManagerIfc
addComponentDomain
in interface VHostManagerIfc
addComponentDomain
in class BasicComponent
domain
- is a component domain name added to the collection.public void componentAdded(VHostListener component)
AbstractComponentRegistrator
components
collection.componentAdded
in class AbstractComponentRegistrator<VHostListener>
component
- is a reference to the component just added to the collection.public void componentRemoved(VHostListener component)
AbstractComponentRegistrator
components
collection.componentRemoved
in class AbstractComponentRegistrator<VHostListener>
component
- is a reference to the component removed from the collection.public void initBindings(Bindings binds)
BasicComponent
initBindings
in class BasicComponent
binds
- A mapping of key/value pairs, all of whose keys are Strings.public void removeComponentDomain(String domain)
VHostManagerIfc
removeComponentDomain
in interface VHostManagerIfc
removeComponentDomain
in class BasicComponent
domain
- is a component domain name being removed from the collection.public void register(Kernel kernel)
RegistrarBean
register
in interface RegistrarBean
kernel
- - instance from local scopepublic void unregister(Kernel kernel)
RegistrarBean
unregister
in interface RegistrarBean
kernel
- - instance from local scopepublic List<JID> getAllVHosts()
VHostManagerIfc
getAllVHosts
in interface VHostManagerIfc
public ServerComponent[] getComponentsForLocalDomain(String domain)
VHostManagerIfc
null
is returned. The given domain may also consist of: component name
ServerComponent.getName()
plus any local domain but only if the component returns true
from method call: VHostListener.handlesNameSubdomains()
getComponentsForLocalDomain
in interface VHostManagerIfc
domain
- is a String
with a domain name to check. It may by just a local domain or string
created with component name and localdomain.null
if no
component found for a given domain.public ServerComponent[] getComponentsForNonLocalDomain(String domain)
VHostManagerIfc
getComponentsForNonLocalDomain
in interface VHostManagerIfc
domain
- is a String
with a domain to check. At the moment this parameter is ignored. In the
future it will be possible to assign a specific component for any non-local domain.public BareJID getDefVHostItem()
VHostManagerIfc
getDefVHostItem
returns a default VHost for the installation. In most cases this is the first
VHost defined in the server configuration.getDefVHostItem
in interface VHostManagerIfc
getDefVHostItem
in class BasicComponent
BareJID
value of the default VHost for the installation.public String getDiscoCategoryType()
BasicComponent
getDiscoCategoryType
in class BasicComponent
public String getDiscoDescription()
BasicComponent
getDiscoDescription
in class BasicComponent
public void getStatistics(StatisticsList list)
getStatistics
in interface StatisticsContainerIfc
getStatistics
in class BasicComponent
public VHostItem getVHostItem(String domain)
VHostManagerIfc
getVHostItem
in interface VHostManagerIfc
getVHostItem
in class BasicComponent
domain
- is a domain namepublic VHostItem getVHostItemDomainOrComponent(String domain)
VHostManagerIfc
getVHostItemDomainOrComponent
in interface VHostManagerIfc
domain
- is a domain namepublic boolean isAnonymousEnabled(String domain)
VHostManagerIfc
isAnonymousEnabled
in interface VHostManagerIfc
domain
- is a String with domain name to check.public boolean isCorrectType(ServerComponent component)
AbstractComponentRegistrator
components
collection.isCorrectType
in class AbstractComponentRegistrator<VHostListener>
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 boolean isLocalDomain(String domain)
VHostManagerIfc
isLocalDomain
in interface VHostManagerIfc
isLocalDomain
in class BasicComponent
domain
- is a String with domain name to check.public boolean isLocalDomainOrComponent(String domain)
VHostManagerIfc
isLocalDomainOrComponent
in interface VHostManagerIfc
isLocalDomainOrComponent
in class BasicComponent
public void setName(String name)
ServerComponent
setName
in interface ServerComponent
setName
in class BasicComponent
name
- to be assignedpublic void initializeRepository() throws TigaseDBException
TigaseDBException
public String generateSecret()
public ComponentRepository<VHostItem> getComponentRepository()
Copyright © 2004–2021 "Tigase, Inc.". All rights reserved.