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.VirtualComponentThis is pretty much all you need to load a virtual component. A few other options are needed to point to correct destination addresses for forwarded packets and to set correct service discovery parameters:
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.comAbove options set all possible parameters to setup virtual MUC component. Created: Dec 13, 2008 7:44:35 PM
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
Field description
|
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
Field description
|
static String |
DISCO_NAME_PROP_KEY
Parameter to set service discovery item name for the virtual component
instance.
|
static String |
DISCO_NAME_PROP_VAL
Field description
|
static String |
DISCO_NODE_PROP_KEY
Parameter to set service discovery node name.
|
static String |
DISCO_NODE_PROP_VAL
Field description
|
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_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 |
---|
VirtualComponent() |
Modifier and Type | Method and Description |
---|---|
tigase.xmpp.JID |
getComponentId()
Method description
|
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<tigase.xml.Element> |
getDiscoFeatures(tigase.xmpp.JID from)
Returns features for top level disco info
|
tigase.xml.Element |
getDiscoInfo(String node,
tigase.xmpp.JID jid,
tigase.xmpp.JID from)
Returns service discovery info for the component.
|
List<tigase.xml.Element> |
getDiscoItems(String node,
tigase.xmpp.JID jid,
tigase.xmpp.JID from)
Returns service discovery items for the component.
|
String |
getName()
Method description
|
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 description
|
void |
setName(String name)
Method description
|
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 tigase.xmpp.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<tigase.xml.Element> getDiscoFeatures(tigase.xmpp.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 tigase.xml.Element getDiscoInfo(String node, tigase.xmpp.JID jid, tigase.xmpp.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<tigase.xml.Element> getDiscoItems(String node, tigase.xmpp.JID jid, tigase.xmpp.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 boolean isInitializationComplete()
ServerComponent
isInitializationComplete
in interface ServerComponent
true
if initialization of the object has been completed
false
otherwisepublic void setName(String name)
ServerComponent
setName
in interface ServerComponent
public 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 © 2016 "Tigase, Inc.". All rights reserved.