@Bean(name="ext", parent=Kernel.class, active=false) public class ComponentProtocol extends ConnectionManager<ComponentIOService> implements ComponentProtocolHandler, UnregisterAware, RepositoryChangeListenerIfc<CompRepoItem>
ConnectionManager.LIMIT_ACTION, ConnectionManager.PortConfigBean, ConnectionManager.PortsConfigBean, ConnectionManager.SecPortConfigBean, ConnectionManager.Watchdog, ConnectionManager.WATCHDOG_PING_TYPE
Modifier and Type | Field and Description |
---|---|
static String |
AUTHENTICATION_TIMEOUT_PROP_KEY |
static String |
CLOSE_ON_SEQUENCE_ERROR_PROP_KEY |
static String |
EXTCOMP_BIND_HOSTNAMES |
static String |
EXTCOMP_REPO_CLASS_PROP_KEY |
static String |
EXTCOMP_REPO_CLASS_PROP_VAL |
static String |
EXTCOMP_REPO_CLASS_PROPERTY |
static String |
IDENTITY_TYPE_KEY |
static String |
IDENTITY_TYPE_VAL |
static String |
MAX_AUTH_ATTEMPTS_PROP_KEY |
static String |
PACK_ROUTED_KEY |
static String |
RETURN_SERVICE_DISCO_KEY |
static boolean |
RETURN_SERVICE_DISCO_VAL |
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, kernel, 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_NEW_CONNECTIONS_THROTTLING_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, TOTAL_BIN_LIMIT_PROP_VAL, TOTAL_PACKETS_LIMIT_PROP_VAL, TRAFFIC_THROTTLING_PROP_KEY, trafficThrottling, 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_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 |
---|
ComponentProtocol() |
Modifier and Type | Method and Description |
---|---|
void |
authenticated(ComponentIOService serv) |
void |
authenticationFailed(ComponentIOService serv,
Packet packet) |
void |
beforeUnregister()
Method called before bean unregister.
|
void |
bindHostname(String hostname,
ComponentIOService serv) |
CompRepoItem |
getCompRepoItem(String hostname) |
protected String |
getDefTrafficThrottling() |
String |
getDiscoCategoryType()
Method returns component category type used for service discovery responses.
|
String |
getDiscoDescription()
Method returns description used for service discovery responses.
|
protected long |
getMaxInactiveTime() |
protected Integer |
getMaxQueueSize(int def) |
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) |
protected ComponentIOService |
getXMPPIOServiceInstance() |
void |
initBindings(Bindings binds)
Initialize a mapping of key/value pairs which can be used in scripts loaded by the server
|
void |
initialize()
Method will be called, when bean will be created, configured and ready to use.
|
protected boolean |
isHighThroughput() |
void |
itemAdded(CompRepoItem repoItem) |
void |
itemRemoved(CompRepoItem item) |
void |
itemUpdated(CompRepoItem item) |
Queue<Packet> |
processSocketData(ComponentIOService serv) |
boolean |
processUndeliveredPacket(Packet packet,
Long stamp,
String errorMessage)
Processes undelivered packets
|
void |
reconnectionFailed(Map<String,Object> port_props) |
void |
register(Kernel kernel)
Method called when bean is being registered allowing developer to programatically register other beans.
|
void |
serviceStarted(ComponentIOService serv) |
boolean |
serviceStopped(ComponentIOService service) |
void |
setRepo(ComponentRepository<CompRepoItem> repo) |
void |
start() |
void |
tlsHandshakeCompleted(ComponentIOService service) |
void |
unbindHostname(String hostname,
ComponentIOService serv) |
boolean |
writePacketToSocket(ComponentIOService ios,
Packet p) |
void |
xmppStreamClosed(ComponentIOService serv) |
String[] |
xmppStreamOpened(ComponentIOService serv,
Map<String,String> attribs) |
addWaitingTask, beanConfigurationChanged, checkHighThroughputProperty, checkTrafficLimits, connectWaitingTasks, countIOServices, doForAllServices, everyMinute, getDefPlainPorts, getDefPorts, getDefSSLPorts, getFlashCrossDomainPolicy, getNet_buffer_limit, getParamsForPort, getServiceId, getServiceId, getTrafficThrottling, getUniqueId, getXMPPIOService, hashCodeForPacket, initializationCompleted, newWatchdog, packetsReady, processingInThreads, processingOutThreads, processPacket, release, releaseListener, setFlashCrossDomainPolicyFile, setName, setNet_buffer_limit, setProcessors, setTrafficThrottling, setupWatchdogThread, socketAccepted, startService, stop, unregister, 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, setIncomingFilters, setOutogingFilters, setParent, setSchedulerThreads_size
addComponentDomain, canCallCommand, canCallCommand, checkCommandAcl, checkCommandAcl, createScriptEngineManager, getComponentId, getComponentInfo, getDefaults, getDefHostName, getDefVHostItem, getDiscoCategory, getDiscoFeatures, getDiscoFeatures, getDiscoInfo, 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, setAdmins, setClusterController, setCommandsACL, setProperties, setScriptsBaseDir, 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 void authenticated(ComponentIOService serv)
authenticated
in interface ComponentProtocolHandler
public void authenticationFailed(ComponentIOService serv, Packet packet)
authenticationFailed
in interface ComponentProtocolHandler
public void bindHostname(String hostname, ComponentIOService serv)
bindHostname
in interface ComponentProtocolHandler
public CompRepoItem getCompRepoItem(String hostname)
getCompRepoItem
in interface ComponentProtocolHandler
public String getDiscoCategoryType()
BasicComponent
getDiscoCategoryType
in class BasicComponent
public String getDiscoDescription()
BasicComponent
getDiscoDescription
in class BasicComponent
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 void register(Kernel kernel)
RegistrarBean
register
in interface RegistrarBean
register
in class ConnectionManager<ComponentIOService>
kernel
- - instance from local scopepublic void initialize()
Initializable
initialize
in interface Initializable
initialize
in class BasicComponent
public void beforeUnregister()
UnregisterAware
beforeUnregister
in interface UnregisterAware
public Queue<Packet> processSocketData(ComponentIOService serv)
processSocketData
in class ConnectionManager<ComponentIOService>
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)
reconnectionFailed
in class ConnectionManager<ComponentIOService>
public void serviceStarted(ComponentIOService serv)
serviceStarted
in class ConnectionManager<ComponentIOService>
public boolean serviceStopped(ComponentIOService service)
serviceStopped
in interface IOServiceListener<ComponentIOService>
serviceStopped
in class ConnectionManager<ComponentIOService>
public void setRepo(ComponentRepository<CompRepoItem> repo)
public void start()
start
in interface MessageReceiver
start
in class ConnectionManager<ComponentIOService>
public 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)
writePacketToSocket
in class ConnectionManager<ComponentIOService>
public void xmppStreamClosed(ComponentIOService serv)
xmppStreamClosed
in interface XMPPIOServiceListener<ComponentIOService>
public String[] xmppStreamOpened(ComponentIOService serv, Map<String,String> attribs)
xmppStreamOpened
in interface XMPPIOServiceListener<ComponentIOService>
public void itemAdded(CompRepoItem repoItem)
itemAdded
in interface RepositoryChangeListenerIfc<CompRepoItem>
public void itemUpdated(CompRepoItem item)
itemUpdated
in interface RepositoryChangeListenerIfc<CompRepoItem>
public void itemRemoved(CompRepoItem item)
itemRemoved
in interface RepositoryChangeListenerIfc<CompRepoItem>
protected String getDefTrafficThrottling()
getDefTrafficThrottling
in class ConnectionManager<ComponentIOService>
protected long getMaxInactiveTime()
getMaxInactiveTime
in class ConnectionManager<ComponentIOService>
protected Integer getMaxQueueSize(int def)
getMaxQueueSize
in class AbstractMessageReceiver
protected ComponentIOService getXMPPIOService(Packet p)
getXMPPIOService
in class ConnectionManager<ComponentIOService>
protected ComponentIOService getXMPPIOServiceInstance()
getXMPPIOServiceInstance
in class ConnectionManager<ComponentIOService>
protected boolean isHighThroughput()
isHighThroughput
in class ConnectionManager<ComponentIOService>
Copyright © 2004–2019 "Tigase, Inc.". All rights reserved.