com.caucho.server.cluster
Class ProServer

java.lang.Object
  extended by com.caucho.server.dispatch.DispatchServer
      extended by com.caucho.server.port.ProtocolDispatchServer
          extended by com.caucho.server.cluster.Server
              extended by com.caucho.server.cluster.ProServer
All Implemented Interfaces:
BamStream, SchemaBean, ClassLoaderListener, EnvironmentBean, AlarmListener, Dependency, java.util.EventListener

public class ProServer
extends Server
implements BamStream


Nested Class Summary
 
Nested classes/interfaces inherited from class com.caucho.server.cluster.Server
Server.SelectManagerCompat
 
Field Summary
 
Fields inherited from class com.caucho.server.cluster.Server
_cache
 
Constructor Summary
ProServer(ClusterServer clusterServer)
          Creates a new servlet server.
 
Method Summary
 void addDynamicServer(java.lang.String clusterId, java.lang.String serverId, java.lang.String address, int port)
          Callback to add a dynamic server
 AbstractCache createCache()
          Adds the cache.
 java.lang.Object createPing()
          Creates the ping.
 BamBroker getBroker()
          Returns the broker
 BamStream getHmtpStream()
          Returns any HMTP stream
 java.lang.String getJid()
          Returns the jid of the agent at the end of the stream.
 boolean message(ServerPool conn, java.lang.String to, java.lang.String from, java.io.Serializable value)
          Sends a hmux message to another server
 void message(java.lang.String to, java.lang.String from, java.io.Serializable value)
          Sends a message to an agent
 void messageError(java.lang.String to, java.lang.String from, java.io.Serializable value, BamError error)
          Sends a message error to an agent
 void presence(java.lang.String to, java.lang.String from, java.io.Serializable data)
          Announces an agent's presence, e.g.
 void presenceError(java.lang.String to, java.lang.String from, java.io.Serializable data, BamError error)
          An error response to a client
 void presenceProbe(java.lang.String to, java.lang.String from, java.io.Serializable data)
          Presence forwarding announcement from a server to a client.
 void presenceSubscribe(java.lang.String to, java.lang.String from, java.io.Serializable data)
          A subscription request from a client
 void presenceSubscribed(java.lang.String to, java.lang.String from, java.io.Serializable data)
          A subscription response to a client
 void presenceUnavailable(java.lang.String to, java.lang.String from, java.io.Serializable data)
          Announces a logout of an agent.
 void presenceUnsubscribe(java.lang.String to, java.lang.String from, java.io.Serializable data)
          An unsubscription request from a client
 void presenceUnsubscribed(java.lang.String to, java.lang.String from, java.io.Serializable data)
          A unsubscription response to a client
 void queryError(long id, java.lang.String to, java.lang.String from, java.io.Serializable query, BamError error)
          Handles the query error from a corresponding queryGet or querySet.
 boolean queryGet(long id, java.lang.String to, java.lang.String from, java.io.Serializable query)
          Sends a query information call (get), returning true if this handler understands the query class, and false if it does not.
 java.io.Serializable queryGet(ServerPool conn, java.lang.String to, java.lang.String from, java.io.Serializable query, long timeout)
          Sends a hmux message to another server
 void queryResult(long id, java.lang.String to, java.lang.String from, java.io.Serializable value)
          Handles the query response from a corresponding queryGet or querySet.
 boolean queryResult(ServerPool conn, long id, java.lang.String to, java.lang.String from, java.io.Serializable value)
          Sends a hmux message to another server
 boolean querySet(long id, java.lang.String to, java.lang.String from, java.io.Serializable query)
          Sends a query update request (set), returning true if this handler understands the query class, and false if it does not.
 void querySet(ServerPool conn, java.lang.String to, java.lang.String from, java.io.Serializable query, BamQueryCallback cb)
          Sends a hmux message to another server
 void removeDynamicServer(java.lang.String clusterId, java.lang.String address, int port)
          Callback to add a dynamic server
 void start()
          Starts the server
 
Methods inherited from class com.caucho.server.cluster.Server
addEarDefault, addErrorPage, addHost, addHostDefault, addHostDeploy, addJavaExe, addJvmArg, addJvmClasspath, addPing, addSelectManager, addWatchdogAddress, addWatchdogArg, addWatchdogJvmArg, addWatchdogLog, addWatchdogPassword, addWatchdogPort, addWebAppDefault, bindPorts, buildInvocation, classLoaderDestroy, classLoaderInit, clearCache, clearCacheByPattern, createHostDeploy, createManagement, createRewriteDispatch, destroy, getAcceptListenBacklog, getAcceptThreadMax, getAcceptThreadMin, getAdmin, getAlternateSessionURLPrefix, getCacheStatistics, getClassLoader, getCluster, getClusterServer, getConfigException, getConnectionErrorPage, getConnectionMax, getCurrent, getDefaultWebApp, getDependencyCheckInterval, getErrorWebApp, getFreeKeepaliveSelect, getGit, getHost, getHostControllers, getKeepaliveConnectionTimeMax, getKeepaliveMax, getKeepaliveSelectCount, getKeepaliveSelectThreadTimeout, getKeepaliveTimeout, getMemoryFreeMin, getPermGenFreeMin, getPorts, getProxyCacheHitCount, getProxyCacheMissCount, getResin, getRootDirectory, getSchema, getServerHeader, getServerId, getServerIndex, getServletPattern, getSessionCookie, getSessionURLPrefix, getShutdownWaitMax, getSocketTimeout, getSSLSessionCookie, getStartTime, getState, getSuspendTimeMax, getUrlLengthMax, getWebApp, handleAlarm, init, isActive, isBindPortsAfterStart, isDeployError, isDestroyed, isDestroying, isDevelopmentModeErrorPage, isKeepaliveSelectEnable, isModified, isModifiedNow, isSelectManagerEnabled, isStopped, isStopping, setAcceptListenBacklog, setAcceptThreadMax, setAcceptThreadMin, setAccessLog, setAlternateSessionURLPrefix, setBindPortsAfterStart, setConfigException, setConnectionErrorPage, setConnectionMax, setDevelopmentModeErrorPage, setKeepaliveConnectionTimeMax, setKeepaliveMax, setKeepaliveSelectEnable, setKeepaliveSelectMax, setKeepaliveSelectThreadTimeout, setKeepaliveTimeout, setMemoryFreeMin, setPermGenFreeMin, setRedeployMode, setRootDir, setRootDirectory, setServerHeader, setSessionCookie, setSessionURLPrefix, setShutdownWaitMax, setSocketTimeout, setSSLSessionCookie, setSuspendTimeMax, setThreadExecutorTaskMax, setThreadIdleMax, setThreadIdleMin, setThreadMax, setURLCharacterEncoding, setUrlLengthMax, startPorts, stop, toString
 
Methods inherited from class com.caucho.server.port.ProtocolDispatchServer
getFreeSelectKeepalive, getSelectManager, initSelectManager, isIgnoreClientDisconnect, setIgnoreClientDisconnect
 
Methods inherited from class com.caucho.server.dispatch.DispatchServer
addServerListener, buildInvocation, createInvocation, createInvocationDecoder, getAttribute, getAttributeNames, getDispatchBuilder, getInvocation, getInvocationCacheHitCount, getInvocationCacheMissCount, getInvocationDecoder, getInvocations, getURLCharacterEncoding, invalidateMatchingInvocations, logModified, removeAttribute, restart, setAttribute, setDispatchBuilder, setInvocationCacheMaxURLLength, setInvocationCacheSize, setServerId, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ProServer

public ProServer(ClusterServer clusterServer)
Creates a new servlet server.

Method Detail

getBroker

public BamBroker getBroker()
Returns the broker

Overrides:
getBroker in class Server

createCache

public AbstractCache createCache()
                          throws ConfigException
Adds the cache.

Overrides:
createCache in class Server
Throws:
ConfigException

createPing

public java.lang.Object createPing()
Description copied from class: Server
Creates the ping.

Overrides:
createPing in class Server

start

public void start()
Starts the server

Overrides:
start in class Server

getHmtpStream

public BamStream getHmtpStream()
Returns any HMTP stream

Overrides:
getHmtpStream in class Server

addDynamicServer

public void addDynamicServer(java.lang.String clusterId,
                             java.lang.String serverId,
                             java.lang.String address,
                             int port)
Callback to add a dynamic server

Overrides:
addDynamicServer in class Server

removeDynamicServer

public void removeDynamicServer(java.lang.String clusterId,
                                java.lang.String address,
                                int port)
Callback to add a dynamic server

Overrides:
removeDynamicServer in class Server

getJid

public java.lang.String getJid()
Description copied from interface: BamStream
Returns the jid of the agent at the end of the stream. For brokers, returns null.

Specified by:
getJid in interface BamStream

message

public boolean message(ServerPool conn,
                       java.lang.String to,
                       java.lang.String from,
                       java.io.Serializable value)
Sends a hmux message to another server


querySet

public void querySet(ServerPool conn,
                     java.lang.String to,
                     java.lang.String from,
                     java.io.Serializable query,
                     BamQueryCallback cb)
Sends a hmux message to another server


queryGet

public java.io.Serializable queryGet(ServerPool conn,
                                     java.lang.String to,
                                     java.lang.String from,
                                     java.io.Serializable query,
                                     long timeout)
Sends a hmux message to another server


queryResult

public boolean queryResult(ServerPool conn,
                           long id,
                           java.lang.String to,
                           java.lang.String from,
                           java.io.Serializable value)
Sends a hmux message to another server


message

public void message(java.lang.String to,
                    java.lang.String from,
                    java.io.Serializable value)
Description copied from interface: BamStream
Sends a message to an agent

Specified by:
message in interface BamStream
Parameters:
to - the target agent's JID
from - the source agent's JID
value - the message payload

messageError

public void messageError(java.lang.String to,
                         java.lang.String from,
                         java.io.Serializable value,
                         BamError error)
Description copied from interface: BamStream
Sends a message error to an agent

Specified by:
messageError in interface BamStream
Parameters:
to - the target agent's JID
from - the source agent's JID
value - the message payload
error - the message error

queryGet

public boolean queryGet(long id,
                        java.lang.String to,
                        java.lang.String from,
                        java.io.Serializable query)
Description copied from interface: BamStream
Sends a query information call (get), returning true if this handler understands the query class, and false if it does not. If queryGet returns true, the handler MUST send a queryResult or queryError to the sender, using the same id.

Specified by:
queryGet in interface BamStream
Parameters:
id - the query identifier used to match requests with responses
to - the target JID
from - the source JID, used as the target for the response
query - the query payload
Returns:
true if this handler understand the query, false otherwise

querySet

public boolean querySet(long id,
                        java.lang.String to,
                        java.lang.String from,
                        java.io.Serializable query)
Description copied from interface: BamStream
Sends a query update request (set), returning true if this handler understands the query class, and false if it does not. If querySet returns true, the handler MUST send a queryResult or queryError to the sender, using the same id.

Specified by:
querySet in interface BamStream
Parameters:
id - the query identifier used to match requests with responses
to - the target JID
from - the source JID, used as the target for the response
query - the query payload
Returns:
true if this handler understand the query, false otherwise

queryResult

public void queryResult(long id,
                        java.lang.String to,
                        java.lang.String from,
                        java.io.Serializable value)
Description copied from interface: BamStream
Handles the query response from a corresponding queryGet or querySet.

Specified by:
queryResult in interface BamStream
Parameters:
id - the query identifier used to match requests with responses
to - the target JID
from - the source JID, used as the target for the response
value - the result payload

queryError

public void queryError(long id,
                       java.lang.String to,
                       java.lang.String from,
                       java.io.Serializable query,
                       BamError error)
Description copied from interface: BamStream
Handles the query error from a corresponding queryGet or querySet.

Specified by:
queryError in interface BamStream
Parameters:
id - the query identifier used to match requests with responses
to - the target JID
from - the source JID, used as the target for the response
query - the query payload
error - additional error information

presence

public void presence(java.lang.String to,
                     java.lang.String from,
                     java.io.Serializable data)
Description copied from interface: BamStream
Announces an agent's presence, e.g. for an IM user logging on or changing their status text.

Specified by:
presence in interface BamStream

presenceUnavailable

public void presenceUnavailable(java.lang.String to,
                                java.lang.String from,
                                java.io.Serializable data)
Description copied from interface: BamStream
Announces a logout of an agent.

Specified by:
presenceUnavailable in interface BamStream

presenceProbe

public void presenceProbe(java.lang.String to,
                          java.lang.String from,
                          java.io.Serializable data)
Description copied from interface: BamStream
Presence forwarding announcement from a server to a client.

Specified by:
presenceProbe in interface BamStream

presenceSubscribe

public void presenceSubscribe(java.lang.String to,
                              java.lang.String from,
                              java.io.Serializable data)
Description copied from interface: BamStream
A subscription request from a client

Specified by:
presenceSubscribe in interface BamStream

presenceSubscribed

public void presenceSubscribed(java.lang.String to,
                               java.lang.String from,
                               java.io.Serializable data)
Description copied from interface: BamStream
A subscription response to a client

Specified by:
presenceSubscribed in interface BamStream

presenceUnsubscribe

public void presenceUnsubscribe(java.lang.String to,
                                java.lang.String from,
                                java.io.Serializable data)
Description copied from interface: BamStream
An unsubscription request from a client

Specified by:
presenceUnsubscribe in interface BamStream

presenceUnsubscribed

public void presenceUnsubscribed(java.lang.String to,
                                 java.lang.String from,
                                 java.io.Serializable data)
Description copied from interface: BamStream
A unsubscription response to a client

Specified by:
presenceUnsubscribed in interface BamStream

presenceError

public void presenceError(java.lang.String to,
                          java.lang.String from,
                          java.io.Serializable data,
                          BamError error)
Description copied from interface: BamStream
An error response to a client

Specified by:
presenceError in interface BamStream