public class ComponentProtocol extends ConnectionManager<ComponentIOService> implements ComponentProtocolHandler
ConnectionManager.LIMIT_ACTION, ConnectionManager.Watchdog, ConnectionManager.WATCHDOG_PING_TYPE
Modifier and Type | Field and Description |
---|---|
static String |
AUTHENTICATION_TIMEOUT_PROP_KEY
Field description
|
static String |
CLOSE_ON_SEQUENCE_ERROR_PROP_KEY
Field description
|
static String |
EXTCOMP_BIND_HOSTNAMES
Field description
|
static String |
EXTCOMP_REPO_CLASS_PROP_KEY
Field description
|
static String |
EXTCOMP_REPO_CLASS_PROP_VAL
Field description
|
static String |
EXTCOMP_REPO_CLASS_PROPERTY
Field description
|
static String |
IDENTITY_TYPE_KEY
Field description
|
static String |
IDENTITY_TYPE_VAL
Field description
|
static String |
MAX_AUTH_ATTEMPTS_PROP_KEY
Field description
|
static String |
PACK_ROUTED_KEY
Field description
|
boolean |
PACK_ROUTED_VAL
Field description
|
static String |
RETURN_SERVICE_DISCO_KEY
Field description
|
static boolean |
RETURN_SERVICE_DISCO_VAL
Field description
|
connectionDelay, delayPortListening, elements_number_limit, ELEMENTS_NUMBER_LIMIT_PROP_KEY, ELEMENTS_NUMBER_LIMIT_PROP_VAL, HT_TRAFFIC_THROTTLING_PROP_KEY, HT_TRAFFIC_THROTTLING_PROP_VAL, LAST_MINUTE_BIN_LIMIT_PROP_VAL, LAST_MINUTE_PACKETS_LIMIT_PROP_VAL, MAX_INACTIVITY_TIME, MAX_RECONNECTS_PROP_KEY, net_buffer, NET_BUFFER_HT_PROP_KEY, NET_BUFFER_HT_PROP_VAL, NET_BUFFER_LIMIT_HT_PROP_VAL, NET_BUFFER_LIMIT_PROP_KEY, NET_BUFFER_LIMIT_ST_PROP_VAL, NET_BUFFER_PROP_KEY, NET_BUFFER_ST_PROP_KEY, NET_BUFFER_ST_PROP_VAL, pingElement, PORT_CLASS_PROP_KEY, PORT_IFC_PROP_KEY, PORT_IFC_PROP_VAL, PORT_KEY, PORT_LISTENING_DELAY_DEF, PORT_LISTENING_DELAY_KEY, PORT_LOCAL_HOST_PROP_KEY, PORT_REMOTE_HOST_PROP_KEY, PORT_REMOTE_HOST_PROP_VAL, PORT_SOCKET_PROP_KEY, PORT_TYPE_PROP_KEY, PORTS_PROP_KEY, PROP_KEY, ST_TRAFFIC_THROTTLING_PROP_KEY, ST_TRAFFIC_THROTTLING_PROP_VAL, TLS_PROP_KEY, TLS_REQUIRED_PROP_KEY, TLS_REQUIRED_PROP_VAL, TLS_USE_PROP_KEY, TLS_USE_PROP_VAL, TOTAL_BIN_LIMIT_PROP_VAL, TOTAL_PACKETS_LIMIT_PROP_VAL, TRAFFIC_THROTTLING_PROP_KEY, WATCHDOG_DELAY, WATCHDOG_PING_TYPE_KEY, WATCHDOG_TIMEOUT, watchdogDelay, watchdogPingType, watchdogTimeout, WHITE_CHAR_ACK_PROP_KEY, WHITE_CHAR_ACK_PROP_VAL, XMPP_ACK_PROP_KEY, XMPP_ACK_PROP_VAL
HOUR, INCOMING_FILTERS_PROP_KEY, INCOMING_FILTERS_PROP_VAL, MAX_QUEUE_SIZE_PROP_KEY, MAX_QUEUE_SIZE_PROP_VAL, maxInQueueSize, maxOutQueueSize, maxQueueSize, MINUTE, OUTGOING_FILTERS_PROP_KEY, OUTGOING_FILTERS_PROP_VAL, PACKET_DELIVERY_RETRY_COUNT_PROP_KEY, SCHEDULER_THREADS_PROP_KEY, SECOND
admins, ALL_PROP_KEY, COMMAND_PROP_NODE, scriptCommands, SCRIPTS_DIR_PROP_DEF, SCRIPTS_DIR_PROP_KEY, trusted, vHostManager
EXTCOMP_BIND_HOSTNAMES_PROP_KEY, REPO_ITEM_KEY
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
CMD_FEATURES, DEF_FEATURES, INFO_XMLNS, ITEMS_XMLNS
Constructor and Description |
---|
ComponentProtocol()
Constructs ...
|
Modifier and Type | Method and Description |
---|---|
void |
authenticated(ComponentIOService serv) |
void |
authenticationFailed(ComponentIOService serv,
Packet packet) |
void |
bindHostname(String hostname,
ComponentIOService serv) |
CompRepoItem |
getCompRepoItem(String hostname) |
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. |
protected String |
getDefTrafficThrottling()
Method description
|
String |
getDiscoCategoryType()
Method description
|
String |
getDiscoDescription()
Method description
|
protected long |
getMaxInactiveTime()
Method description
|
protected Integer |
getMaxQueueSize(int def)
Method description
|
ExtProcessor |
getProcessor(String key) |
void |
getStatistics(StatisticsList list)
Method returns component statistics.
|
List<Element> |
getStreamFeatures(ComponentIOService serv) |
StreamOpenHandler |
getStreamOpenHandler(String xmlns) |
protected ComponentIOService |
getXMPPIOService(Packet p)
Method description
|
protected ComponentIOService |
getXMPPIOServiceInstance()
Method description
|
void |
initBindings(Bindings binds)
Initialize a mapping of key/value pairs which can be used in scripts
loaded by the server
|
protected boolean |
isHighThroughput()
Method description
|
Queue<Packet> |
processSocketData(ComponentIOService serv)
Method description
|
boolean |
processUndeliveredPacket(Packet packet,
Long stamp,
String errorMessage)
Processes undelivered packets
|
void |
reconnectionFailed(Map<String,Object> port_props)
Method description
|
void |
serviceStarted(ComponentIOService serv)
Method description
|
boolean |
serviceStopped(ComponentIOService service) |
void |
setProperties(Map<String,Object> properties)
Sets all configuration properties for the object.
|
void |
tlsHandshakeCompleted(ComponentIOService service) |
void |
unbindHostname(String hostname,
ComponentIOService serv) |
boolean |
writePacketToSocket(ComponentIOService ios,
Packet p)
Method description
|
void |
xmppStreamClosed(ComponentIOService serv) |
String |
xmppStreamOpened(ComponentIOService serv,
Map<String,String> attribs) |
addWaitingTask, checkHighThroughputProperty, checkTrafficLimits, connectWaitingTasks, countIOServices, doForAllServices, everyMinute, getDefPlainPorts, getDefSSLPorts, getParamsForPort, getServiceId, getServiceId, getUniqueId, getXMPPIOService, hashCodeForPacket, initializationCompleted, newWatchdog, packetsReady, processingInThreads, processingOutThreads, processPacket, release, setName, setupWatchdogThread, socketAccepted, stop, updateConnectionDetails, writePacketsToSocket, writePacketToSocket, writePacketToSocket, writeRawData, xmppStreamError
addOutPacket, addOutPacketNB, addOutPackets, addOutPacketWithTimeout, addPacket, addPacketNB, addPackets, addRegexRouting, addTimerTask, addTimerTask, addTimerTask, addTimerTask, addTimerTask, addTimerTaskWithTimeout, addTimerTaskWithTimeout, clearRegexRoutings, everyHour, everySecond, getRegexRoutings, isInRegexRoutings, newPacketId, processingThreads, processOutPacket, processPacket, removeRegexRouting, schedulerThreads, setMaxQueueSize, setParent, start
addComponentDomain, canCallCommand, checkCommandAcl, getComponentId, getComponentInfo, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, getDiscoInfo, getDiscoItems, getDiscoItems, getName, getNodesConnected, getNodesConnectedWithLocal, getScriptCommands, getScriptItems, getServiceEntity, getVHostItem, handlesLocalDomains, handlesNameSubdomains, handlesNonLocalDomains, isAdmin, isInitializationComplete, isLocalDomain, isLocalDomainOrComponent, isNonAdminCommands, isSubdomain, isTrusted, isTrusted, nodeConnected, nodeDisconnected, onNodeConnected, onNodeDisconnected, processScriptCommand, removeComponentDomain, removeServiceDiscoveryItem, setClusterController, setVHostManager, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceDiscoveryItem, updateServiceEntity
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
newPacketId
getName
getDefHostName
getComponentId, getComponentInfo, getName, isInitializationComplete
public static final String AUTHENTICATION_TIMEOUT_PROP_KEY
public static final String CLOSE_ON_SEQUENCE_ERROR_PROP_KEY
public static final String EXTCOMP_BIND_HOSTNAMES
public static final String EXTCOMP_REPO_CLASS_PROP_KEY
public static final String EXTCOMP_REPO_CLASS_PROP_VAL
public static final String EXTCOMP_REPO_CLASS_PROPERTY
public static final String IDENTITY_TYPE_KEY
public static final String IDENTITY_TYPE_VAL
public static final String MAX_AUTH_ATTEMPTS_PROP_KEY
public static final String PACK_ROUTED_KEY
public static final String RETURN_SERVICE_DISCO_KEY
public static final boolean RETURN_SERVICE_DISCO_VAL
public boolean PACK_ROUTED_VAL
public void authenticated(ComponentIOService serv)
authenticated
in interface ComponentProtocolHandler
public void authenticationFailed(ComponentIOService serv, Packet packet)
authenticationFailed
in interface ComponentProtocolHandler
protected String getDefTrafficThrottling()
ConnectionManager
getDefTrafficThrottling
in class ConnectionManager<ComponentIOService>
String
public void bindHostname(String hostname, ComponentIOService serv)
bindHostname
in interface ComponentProtocolHandler
public CompRepoItem getCompRepoItem(String hostname)
getCompRepoItem
in interface ComponentProtocolHandler
public Map<String,Object> getDefaults(Map<String,Object> params)
AbstractMessageReceiver
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 ConnectionManager<ComponentIOService>
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 ExtProcessor getProcessor(String key)
getProcessor
in interface ComponentProtocolHandler
public void getStatistics(StatisticsList list)
AbstractMessageReceiver
Level.FINEST
assigned and must be put inside the level guard
to prevent generating them by the system monitor. The system monitor does
not collect FINEST
statistics.
if (list.checkLevel(Level.FINEST)) { // Some CPU intensive calculations or lengthy operations list.add(getName(), "Statistic description", stat_value, Level.FINEST); }This way you make sure your extensive operation is not executed every second by the monitoring system and does not affect the server performance.
getStatistics
in interface StatisticsContainerIfc
getStatistics
in class ConnectionManager<ComponentIOService>
list
- is a StatistcsList
where all statistics are stored.public List<Element> getStreamFeatures(ComponentIOService serv)
getStreamFeatures
in interface ComponentProtocolHandler
public StreamOpenHandler getStreamOpenHandler(String xmlns)
getStreamOpenHandler
in interface ComponentProtocolHandler
public void initBindings(Bindings binds)
BasicComponent
initBindings
in class ConnectionManager<ComponentIOService>
binds
- A mapping of key/value pairs, all of whose keys are Strings.public Queue<Packet> processSocketData(ComponentIOService serv)
ConnectionManager
processSocketData
in class ConnectionManager<ComponentIOService>
Queue<Packet>
public boolean processUndeliveredPacket(Packet packet, Long stamp, String errorMessage)
ConnectionManager
processUndeliveredPacket
in class ConnectionManager<ComponentIOService>
stamp
- - timestamp when packet was received to be written to XMPPIOServicepublic void reconnectionFailed(Map<String,Object> port_props)
ConnectionManager
reconnectionFailed
in class ConnectionManager<ComponentIOService>
public void serviceStarted(ComponentIOService serv)
ConnectionManager
serviceStarted
in class ConnectionManager<ComponentIOService>
public boolean serviceStopped(ComponentIOService service)
serviceStopped
in interface IOServiceListener<ComponentIOService>
serviceStopped
in class ConnectionManager<ComponentIOService>
public void setProperties(Map<String,Object> properties) throws ConfigurationException
Configurable
setProperties
in interface Configurable
setProperties
in class ConnectionManager<ComponentIOService>
properties
- Map
with the configurationConfigurationException
- - if setting configuration will
fail which will make it unable
to workpublic void tlsHandshakeCompleted(ComponentIOService service)
tlsHandshakeCompleted
in interface IOServiceListener<ComponentIOService>
public void unbindHostname(String hostname, ComponentIOService serv)
unbindHostname
in interface ComponentProtocolHandler
public boolean writePacketToSocket(ComponentIOService ios, Packet p)
ConnectionManager
writePacketToSocket
in class ConnectionManager<ComponentIOService>
boolean
public void xmppStreamClosed(ComponentIOService serv)
xmppStreamClosed
in interface XMPPIOServiceListener<ComponentIOService>
public String xmppStreamOpened(ComponentIOService serv, Map<String,String> attribs)
xmppStreamOpened
in interface XMPPIOServiceListener<ComponentIOService>
protected long getMaxInactiveTime()
ConnectionManager
getMaxInactiveTime
in class ConnectionManager<ComponentIOService>
long
protected Integer getMaxQueueSize(int def)
AbstractMessageReceiver
getMaxQueueSize
in class AbstractMessageReceiver
Integer
protected ComponentIOService getXMPPIOService(Packet p)
ConnectionManager
getXMPPIOService
in class ConnectionManager<ComponentIOService>
IO
protected ComponentIOService getXMPPIOServiceInstance()
ConnectionManager
getXMPPIOServiceInstance
in class ConnectionManager<ComponentIOService>
IO
protected boolean isHighThroughput()
ConnectionManager
isHighThroughput
in class ConnectionManager<ComponentIOService>
boolean
Copyright © 2017 "Tigase, Inc.". All rights reserved.