public class VirtualComponent extends Object implements ServerComponent, XMPPService, Configurable, DisableDisco, VHostListener
muc.domain.our
in our installation. Thus the name of the component
is: muc
:
--comp-name-1=muc --comp-class-1=tigase.cluster.VirtualComponent
muc/redirect-to=muc@cluster-node-with-real-muc.domain.our muc/disco-name=Multi User Chat muc/disco-node= muc/disco-type=text muc/disco-category=conference muc/disco-features=http://jabber.org/protocol/muc muc/fixed-domain=example.com
Modifier and Type | Field and Description |
---|---|
static String |
DISCO_CATEGORY_PROP_KEY
Parameter to set service discovery item category name for the virtual component.
|
static String |
DISCO_CATEGORY_PROP_VAL |
static String |
DISCO_FEATURES_PROP_KEY
Comma separated list of features for the service discovery item represented by this virtual component.
|
static String |
DISCO_FEATURES_PROP_VAL |
static String |
DISCO_NAME_PROP_KEY
Parameter to set service discovery item name for the virtual component instance.
|
static String |
DISCO_NAME_PROP_VAL |
static String |
DISCO_NODE_PROP_KEY
Parameter to set service discovery node name.
|
static String |
DISCO_NODE_PROP_VAL |
static String |
DISCO_TYPE_PROP_KEY
Parameter to set service discovery item type for the virtual component.
|
static String |
DISCO_TYPE_PROP_VAL
A default value for service discovery item type, which is 'text'
|
static String |
FIXED_DOMAIN_PROP_KEY
If set, then it is used as the component domain name part.
|
static String |
REDIRECT_TO_PROP_KEY
Virtual component parameter setting packet redirect destination address.
|
protected VHostManagerIfc |
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_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
Constructor and Description |
---|
VirtualComponent() |
Modifier and Type | Method and Description |
---|---|
JID |
getComponentId()
Method returns component jid in form of the component name followed by server hostname as a domain.
|
ComponentInfo |
getComponentInfo()
Allows to obtain various informations about components
|
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. |
List<Element> |
getDiscoFeatures(JID from)
Returns features for top level disco info
|
Element |
getDiscoInfo(String node,
JID jid,
JID from)
Returns service discovery info for the component.
|
List<Element> |
getDiscoItems(String node,
JID jid,
JID from)
Returns service discovery items for the component.
|
String |
getName()
Method returns name of the component.
|
boolean |
handlesLocalDomains()
Indicates whether the component accepts packets to all local domains.
|
boolean |
handlesNameSubdomains()
Indicates whether the component can handle packets to 'name' subdomain.
|
boolean |
handlesNonLocalDomains()
Indicates whether the component can handle all packets to non-local domains.
|
void |
initializationCompleted()
Method is called by
MessageRouter when all the startup components of the server have been loaded and
configured through setProperties(...) call. |
boolean |
isInitializationComplete()
Method returns information about whether the initialization process (initializationCompleted()) method has been
called.
|
void |
processPacket(Packet packet,
Queue<Packet> results)
processPacket is a blocking processing method implemented by all components. |
void |
release()
Method called when component is being stopped and unloaded.
|
void |
setName(String name)
Method used to assign component name (localpart of the component)
|
void |
setProperties(Map<String,Object> properties)
Sets all configuration properties for the object.
|
void |
setVHostManager(VHostManagerIfc manager)
Sets the VHostManager which works on this server installation.
|
public static final String DISCO_CATEGORY_PROP_KEY
public static final String DISCO_CATEGORY_PROP_VAL
public static final String DISCO_FEATURES_PROP_KEY
public static final String DISCO_FEATURES_PROP_VAL
public static final String DISCO_NAME_PROP_KEY
public static final String DISCO_NAME_PROP_VAL
public static final String DISCO_NODE_PROP_KEY
public static final String DISCO_NODE_PROP_VAL
public static final String DISCO_TYPE_PROP_KEY
public static final String DISCO_TYPE_PROP_VAL
public static final String FIXED_DOMAIN_PROP_KEY
public static final String REDIRECT_TO_PROP_KEY
protected VHostManagerIfc vHostManager
public boolean handlesLocalDomains()
VHostListener
handlesLocalDomains
in interface VHostListener
public boolean handlesNameSubdomains()
VHostListener
handlesNameSubdomains
in interface VHostListener
public boolean handlesNonLocalDomains()
VHostListener
handlesNonLocalDomains
in interface VHostListener
public void initializationCompleted()
ServerComponent
MessageRouter
when all the startup components of the server have been loaded and
configured through setProperties(...) call. At this point the whole server should be loaded and functional,
except initializations taking place in this routine.initializationCompleted
in interface ServerComponent
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
packet
- a Packet
valuepublic void release()
ServerComponent
release
in interface ServerComponent
public JID getComponentId()
ServerComponent
getComponentId
in interface ServerComponent
public ComponentInfo getComponentInfo()
ServerComponent
getComponentInfo
in interface ServerComponent
public 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
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 List<Element> getDiscoFeatures(JID from)
XMPPService
getDiscoFeatures
in interface XMPPService
from
- a request sender address. Some service disco elements are meant to be available only to system
administrarors. The component is responsible to check whether the sender is the component administrator and
return results appropriate.public Element getDiscoInfo(String node, JID jid, JID from)
XMPPService
getDiscoInfo
in interface XMPPService
node
- is service discovery node for which the request is made. Is normally null for the component top level
request.jid
- is the jid to which the request has been made.from
- is the request sender address. Some service discovery information is only meant for administrators.public List<Element> getDiscoItems(String node, JID jid, JID from)
XMPPService
getDiscoItems
in interface XMPPService
node
- is a service discovery node for which the request has been made.jid
- is the jid to which the request has been made.from
- is the request sender address. Some service discovery information is only meant for administrators.public String getName()
ServerComponent
getName
in interface ServerComponent
public void setName(String name)
ServerComponent
setName
in interface ServerComponent
public boolean isInitializationComplete()
ServerComponent
isInitializationComplete
in interface ServerComponent
true
if initialization of the object has been completed false
otherwisepublic void setProperties(Map<String,Object> properties)
Configurable
setProperties
in interface Configurable
properties
- Map
with the configurationpublic void setVHostManager(VHostManagerIfc manager)
VHostListener
setVHostManager
in interface VHostListener
manager
- is a reference to VHostManager available on the server installation.Copyright © 2004–2019 "Tigase, Inc.". All rights reserved.