Package tigase.server.xmppclient
Class SeeOtherHostDualIP
- java.lang.Object
-
- tigase.server.xmppclient.SeeOtherHost
-
- tigase.server.xmppclient.SeeOtherHostHashed
-
- tigase.server.xmppclient.SeeOtherHostDualIP
-
- All Implemented Interfaces:
Initializable
,RegistrarBean
,UnregisterAware
,Lifecycle
,SeeOtherHostIfc
@Bean(name="seeOtherHost", parent=ClientConnectionManager.class, active=true) @ClusterModeRequired(active=true) public class SeeOtherHostDualIP extends SeeOtherHostHashed implements Initializable, RegistrarBean, UnregisterAware
Extended implementation of SeeOtherHost using redirect information from database based on cluster_nodes table.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
SeeOtherHostDualIP.DualIPRepository<T extends DataSource>
static class
SeeOtherHostDualIP.DualIPRepositoryWrapper
-
Nested classes/interfaces inherited from class tigase.server.xmppclient.SeeOtherHost
SeeOtherHost.SeeOtherHostVHostItemExtension, SeeOtherHost.SeeOtherHostVHostItemExtensionProvider
-
Nested classes/interfaces inherited from interface tigase.server.xmppclient.SeeOtherHostIfc
SeeOtherHostIfc.Phase
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
SEE_OTHER_HOST_DATA_SOURCE_KEY
static java.lang.String
SEE_OTHER_HOST_DATA_SOURCE_VALUE
static java.lang.String
SEE_OTHER_HOST_DB_URL_KEY
static java.lang.String
SEE_OTHER_HOST_FALLBACK_REDIRECTION_KEY
-
Fields inherited from class tigase.server.xmppclient.SeeOtherHostHashed
connectedNodes
-
Fields inherited from class tigase.server.xmppclient.SeeOtherHost
defaultHost, REDIRECTION_ENABLED, vHostManager
-
Fields inherited from interface tigase.server.xmppclient.SeeOtherHostIfc
CM_SEE_OTHER_HOST_ACTIVE, CM_SEE_OTHER_HOST_CLASS_PROP_DEF_VAL, CM_SEE_OTHER_HOST_CLASS_PROP_DEF_VAL_CLUSTER, CM_SEE_OTHER_HOST_CLASS_PROP_KEY, CM_SEE_OTHER_HOST_CLASS_PROPERTY, CM_SEE_OTHER_HOST_DEFAULT_HOST, CM_SEE_OTHER_HOST_DEFAULT_PORT
-
-
Constructor Summary
Constructors Constructor Description SeeOtherHostDualIP()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
beforeUnregister()
Method called before bean unregister.void
clusterRepoItemEvent(ClusterRepoItemEvent event)
BareJID
findHostForJID(BareJID jid, BareJID host)
Finds an appropriate host for a given JIDvoid
initialize()
Method will be called, when bean will be created, configured and ready to use.boolean
isRedirectionRequired(BareJID defaultHost, BareJID redirectionHost)
Method validates whether a redirection for a particular hostname and resulting redirection hastname is requiredvoid
register(Kernel kernel)
Method called when bean is being registered allowing developer to programatically register other beans.protected void
reloadRedirection()
void
setNodes(java.util.List<JID> connectedNodes)
Sets list of available nodes in cluster environmentvoid
unregister(Kernel kernel)
Method called while bean is being unregistered.-
Methods inherited from class tigase.server.xmppclient.SeeOtherHostHashed
nodeShutdown
-
Methods inherited from class tigase.server.xmppclient.SeeOtherHost
isEnabled, isNodeShutdown, setDefaultHost, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface tigase.server.xmppclient.SeeOtherHostIfc
getStreamError
-
-
-
-
Field Detail
-
SEE_OTHER_HOST_FALLBACK_REDIRECTION_KEY
public static final java.lang.String SEE_OTHER_HOST_FALLBACK_REDIRECTION_KEY
- See Also:
- Constant Field Values
-
SEE_OTHER_HOST_DATA_SOURCE_KEY
public static final java.lang.String SEE_OTHER_HOST_DATA_SOURCE_KEY
- See Also:
- Constant Field Values
-
SEE_OTHER_HOST_DATA_SOURCE_VALUE
public static final java.lang.String SEE_OTHER_HOST_DATA_SOURCE_VALUE
-
SEE_OTHER_HOST_DB_URL_KEY
public static final java.lang.String SEE_OTHER_HOST_DB_URL_KEY
- See Also:
- Constant Field Values
-
-
Method Detail
-
findHostForJID
public BareJID findHostForJID(BareJID jid, BareJID host)
Description copied from interface:SeeOtherHostIfc
Finds an appropriate host for a given JID- Specified by:
findHostForJID
in interfaceSeeOtherHostIfc
- Overrides:
findHostForJID
in classSeeOtherHostHashed
- Parameters:
jid
- is a user JID extracted from the stream open attributeshost
- is "this" host to which the user is now connected and which calls the method- Returns:
- BareJID of possible host to which the user should connect or NULL
-
clusterRepoItemEvent
@HandleEvent public void clusterRepoItemEvent(ClusterRepoItemEvent event)
-
setNodes
public void setNodes(java.util.List<JID> connectedNodes)
Description copied from interface:SeeOtherHostIfc
Sets list of available nodes in cluster environment- Specified by:
setNodes
in interfaceSeeOtherHostIfc
- Overrides:
setNodes
in classSeeOtherHostHashed
- Parameters:
connectedNodes
- current list of nodes
-
isRedirectionRequired
public boolean isRedirectionRequired(BareJID defaultHost, BareJID redirectionHost)
Description copied from interface:SeeOtherHostIfc
Method validates whether a redirection for a particular hostname and resulting redirection hastname is required- Specified by:
isRedirectionRequired
in interfaceSeeOtherHostIfc
- Parameters:
defaultHost
- default hostname of the particular machineredirectionHost
- destination hostname- Returns:
true
if the redirection is required, otherwisefalse
-
register
public void register(Kernel kernel)
Description copied from interface:RegistrarBean
Method called when bean is being registered allowing developer to programatically register other beans.- Specified by:
register
in interfaceRegistrarBean
- Parameters:
kernel
- - instance from local scope
-
unregister
public void unregister(Kernel kernel)
Description copied from interface:RegistrarBean
Method called while bean is being unregistered.- Specified by:
unregister
in interfaceRegistrarBean
- Parameters:
kernel
- - instance from local scope
-
initialize
public void initialize()
Description copied from interface:Initializable
Method will be called, when bean will be created, configured and ready to use.- Specified by:
initialize
in interfaceInitializable
- Overrides:
initialize
in classSeeOtherHost
-
beforeUnregister
public void beforeUnregister()
Description copied from interface:UnregisterAware
Method called before bean unregister.- Specified by:
beforeUnregister
in interfaceUnregisterAware
-
reloadRedirection
protected void reloadRedirection()
-
-