|Home >> All >> org >> apache >> catalina >> [ cluster Javadoc ]|
|||org.apache.catalina.cluster.deploy.* (6)||||org.apache.catalina.cluster.io.* (6)|
|||org.apache.catalina.cluster.mcast.* (6)||||org.apache.catalina.cluster.session.* (19)|
|||org.apache.catalina.cluster.tcp.* (25)||||org.apache.catalina.cluster.util.* (6)|
org.apache.catalina.cluster: Javadoc index of package org.apache.catalina.cluster.
org.apache.catalina.cluster.util: This package contains code for Clustering, the base class of a Cluster is org.apache.catalina.Cluster implementations of this class is done when implementing a new Cluster protocol
JvmRouteBinderValve: Valve to handle Tomcat jvmRoute takeover using mod_jk module after node failure. After a node crashed the next request going to other cluster node. Now the answering from apache is slower ( make some error handshaking. Very bad with apache at my windows.). We rewrite now the cookie jsessionid information to the backup cluster node. After the next response all client request goes direct to the backup node. The change sessionid send also to all other cluster nodes. Well, now the session stickyness work directly to the backup node and traffic don't go back too restarted cluster nodes! At all cluster ...
FastAsyncSocketSender: Send cluster messages from a Message queue with only one socket. Ack and keep Alive Handling is supported. Fast Queue can limit queue size and consume all messages at queue at one block. Limit the queue lock contention under high load! With autoConnect=false at ReplicationTransmitter, you can disconnect the sender and all messages are queued. Only use this for small maintaince isuses! waitForAck=true, means that receiver ack the transfer after one minute idle time, or number of request (100) the connection is reconnected with next request. Change this for production use! default ackTimeout is 15 ...
SessionMessage: Class Description: The SessionMessage class is a class that is used when a session has been created, modified, expired in a Tomcat cluster node. The following events are currently available: public static final int EVT_SESSION_CREATED public static final int EVT_SESSION_ACCESSED public static final int EVT_ATTRIBUTE_ADDED public static final int EVT_ATTRIBUTE_REMOVED public static final int EVT_SESSION_EXPIRED_WONOTIFY public static final int EVT_SESSION_EXPIRED_WNOTIFY public static final int EVT_GET_ALL_SESSIONS public static final int EVT_SET_USER_PRINCIPAL public static final int EVT_SET_SESSION_NOTE ...
SingleRemoveSynchronizedAddLock: The class SingleRemoveSynchronizedAddLock implement locking for accessing the queue by a single remove thread and multiple add threads. A thread is only allowed to be either the remove or an add thread. The lock can either be owned by the remove thread or by a single add thread. If the remove thread tries to get the lock, but the queue is empty, it will block (poll) until an add threads adds an entry to the queue and releases the lock. If the remove thread and add threads compete for the lock and an add thread releases the lock, then the remove thread will get the lock first. The remove thread ...
DeltaSession: Similar to the StandardSession, this code is identical, but for update and some small issues, simply copied in the first release. This session will keep track of deltas during a request. IMPLEMENTATION NOTE : An instance of this class represents both the internal (Session) and application level (HttpSession) view of the session. However, because the class itself is not declared public, Java logic outside of the org.apache.catalina.session package cannot cast an HttpSession view of this instance back to a Session view. IMPLEMENTATION NOTE : If you add fields to this class, you must make sure that ...
AsyncSocketSender: Send cluster messages from a Message queue with only one socket. Ack and keep Alive Handling is supported. With autoConnect=false at ReplicationTransmitter, you can disconnect the sender and all messages are queued. Only use this for small maintaince isuses! waitForAck=true, means that receiver ack the transfer after one minute idle time, or number of request (100) the connection is reconnected with next request. Change this for production use! default ackTimeout is 15 sec: this is very low for big all session replication messages after restart a node disable keepAlive: keepAliveTimeout="-1" and ...
SimpleTcpReplicationManager: Title: Tomcat Session Replication for Tomcat 4.0 Description: A very simple straight forward implementation of session replication of servers in a cluster. This session replication is implemented "live". By live I mean, when a session attribute is added into a session on Node A a message is broadcasted to other messages and setAttribute is called on the replicated sessions. A full description of this implementation can be found under Filip's Tomcat Page Copyright: See apache license Company: www.filip.net
TcpReplicationThread: A worker thread class which can drain channels and echo-back the input. Each instance is constructed with a reference to the owning thread pool object. When started, the thread loops forever waiting to be awakened to service the channel associated with a SelectionKey object. The worker is tasked by calling its serviceChannel() method with a SelectionKey object. The serviceChannel() method stores the key reference in the thread object then calls notify() to wake it up. When the channel has been drained, the worker thread returns itself to its parent pool.
ReplicationValve: Implementation of a Valve that logs interesting contents from the specified Request (before processing) and the corresponding Response (after processing). It is especially useful in debugging problems related to headers and cookies. This Valve may be attached to any Container, depending on the granularity of the logging you wish to perform. primaryIndicator=true, then the request attribute org.apache.catalina.cluster.tcp.isPrimarySession. is set true, when request processing is at sessions primary node.
Member: The Member interface, defines a member in the Cluster. A member is a Tomcat process that participates in session replication. Each member can carry a set of properties, defined by the actual implementation. For TCP replication has been targeted for the first release, the hostname and listen port of the member is defined as hardcoded stuff. The Member interface together with MembershipListener, MembershipService are interfaces used to switch out the service used to establish membership in between the cluster nodes.
FarmWarDeployer: A farm war deployer is a class that is able to deploy/undeploy web applications in WAR form within the cluster. Any host can act as the admin, and will have three directories deployDir - the directory where we watch for changes applicationDir - the directory where we install applications tempDir - a temporaryDirectory to store binary data when downloading a war from the cluster Currently we only support deployment of WAR files since they are easier to send across the wire.
DeltaManager: The DeltaManager manages replicated sessions by only replicating the deltas in data. For applications written to handle this, the DeltaManager is the optimal way of replicating data. This code is almost identical to StandardManager with a difference in how it persists sessions and some modifications to it. IMPLEMENTATION NOTE : Correct behavior of session storing and reloading depends upon external calls to the start() and stop() methods of this class at the correct times.
FileMessageFactory: This factory is used to read files and write files by splitting them up into smaller messages. So that entire files don't have to be read into memory. The factory can be used as a reader or writer but not both at the same time. When done reading or writing the factory will close the input or output streams and mark the factory as closed. It is not possible to use it after that. To force a cleanup, call cleanup() from the calling object. This class is not thread safe.
ObjectReader: The object reader object is an object used in conjunction with java.nio TCP messages. This object stores the message bytes in a XByteBuffer until a full package has been received. When a full package has been received, the append method will call messageDataReceived on the callback object associated with this object reader. This object uses an XByteBuffer which is an extendable object buffer that also allows for message encoding and decoding.
SocketObjectReader: The object reader object is an object used in conjunction with java.nio TCP messages. This object stores the message bytes in a XByteBuffer until a full package has been received. When a full package has been received, the append method will call messageDataReceived on the callback object associated with this object reader. This object uses an XByteBuffer which is an extendable object buffer that also allows for message encoding and decoding.
JvmRouteSessionIDBinderLifecycleListener: Register new JvmRouteSessionIDBinderListener to receive Session ID changes. add following at your server.xml Host section <Host >... <Listener className="org.apache.catalina.cluster.session.JvmRouteSessionIDBinderLifecycleListener" /> <Cluster ...> </Host> FIXME add Engine support
McastService: A membership implementation using simple multicast. This is the representation of a multicast membership service. This class is responsible for maintaining a list of active cluster nodes in the cluster. If a node fails to send out a heartbeat, the node will be dismissed. FIXME i18n messages
McastMembership: A membership implementation using simple multicast. This is the representation of a multicast membership. This class is responsible for maintaining a list of active cluster nodes in the cluster. If a node fails to send out a heartbeat, the node will be dismissed.
ReplicationTransmitter: Transmit message to ohter cluster members create sender from replicationMode type FIXME i18n log messages FIXME compress data depends on message type and size FIXME send very big messages at some block see FarmWarDeployer! TODO pause and resume senders
SimpleTcpCluster: A Cluster implementation using simple multicast. Responsible for setting up a cluster and provides callers with a valid multicast receiver/sender. FIXME remove install/remove/start/stop context dummys FIXME wrote testcases
MembershipListener: The MembershipListener interface is used as a callback to the membership service. It has two methods that will notify the listener when a member has joined the cluster and when a member has disappeared (crashed)
StandardSessionContext: This class is a dummy implementation of the HttpSessionContext interface, to conform to the requirement that such an object be returned when HttpSession.getSessionContext() is called.
WarWatcher: The WarWatcher watches the deployDir for changes made to the directory (adding new WAR files->deploy or remove WAR files->undeploy) And notifies a listener of the changes made
ReplicationStream: Custom subclass of ObjectInputStream that loads from the class loader for this web application. This allows classes defined only with the web application to be found correctly.
FastQueue: A fast queue that remover thread lock the adder thread. Limit the queue length when you have strange producer thread problemes. FIXME add i18n support to log messages