|
Apache Tomcat 6.0.35 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.catalina.session.StandardSession
org.apache.catalina.ha.session.DeltaSession
public class DeltaSession
Similar to the StandardSession except that this session will keep track of deltas during a request.
| Field Summary | |
|---|---|
protected java.util.concurrent.locks.Lock |
diffLock
|
static Log |
log
|
protected static StringManager |
sm
The string manager for this package. |
| Fields inherited from class org.apache.catalina.session.StandardSession |
|---|
accessCount, ACTIVITY_CHECK, attributes, authType, creationTime, EMPTY_ARRAY, excludedAttributes, expiring, facade, id, info, isNew, isValid, lastAccessedTime, listeners, manager, maxInactiveInterval, NOT_SERIALIZED, notes, principal, sessionContext, support, thisAccessedTime |
| Fields inherited from interface org.apache.catalina.Session |
|---|
SESSION_ACTIVATED_EVENT, SESSION_CREATED_EVENT, SESSION_DESTROYED_EVENT, SESSION_PASSIVATED_EVENT |
| Constructor Summary | |
|---|---|
DeltaSession()
Construct a new Session. |
|
DeltaSession(Manager manager)
|
|
| Method Summary | |
|---|---|
void |
applyDiff(byte[] diff,
int offset,
int length)
Applies a diff to an existing object. |
void |
endAccess()
End the access and register to ReplicationValve (crossContext support) |
protected boolean |
exclude(java.lang.String name)
Exclude attributes from replication. |
void |
expire(boolean notify)
Perform the internal processing required to invalidate this session, without triggering an exception if the session has already expired. |
void |
expire(boolean notify,
boolean notifyCluster)
|
protected java.lang.Object |
getAttributeInternal(java.lang.String name)
Return the value of an attribute without a check for validity. |
java.lang.ClassLoader[] |
getClassLoaders()
|
DeltaRequest |
getDeltaRequest()
|
byte[] |
getDiff()
Returns a diff and sets the dirty map to false |
long |
getLastAccessedTimeInternal()
Return the last client access time without invalidation check |
protected long |
getLastTimeReplicated()
|
long |
getVersion()
For accuracy checking, a serialized attribute can contain a version number This number increases as modifications are made to the data. |
protected boolean |
isAttributeDistributable(java.lang.String name,
java.lang.Object value)
Check whether the Object can be distributed. |
boolean |
isDiffable()
If this returns true, the map will extract the diff using getDiff() Otherwise it will serialize the entire object. |
boolean |
isDirty()
Has the object changed since last replication and is not in a locked state |
boolean |
isPrimarySession()
returns true if this session is the primary session, if that is the case, the manager can expire it upon timeout. |
boolean |
isValid()
Return the isValid flag for this session. |
void |
lock()
Lock during serialization |
void |
readExternal(java.io.ObjectInput in)
|
protected void |
readObject(java.io.ObjectInputStream stream)
Read a serialized version of this session object from the specified object input stream. |
void |
readObjectData(java.io.ObjectInput stream)
|
void |
readObjectData(java.io.ObjectInputStream stream)
Read a serialized version of the contents of this session object from the specified object input stream, without requiring that the StandardSession itself have been serialized. |
void |
recycle()
Release all object references, and initialize instance variables, in preparation for reuse of this object. |
void |
removeAttribute(java.lang.String name,
boolean notify)
Remove the object bound with the specified name from this session. |
void |
removeAttribute(java.lang.String name,
boolean notify,
boolean addDeltaRequest)
|
protected void |
removeAttributeInternal(java.lang.String name,
boolean notify,
boolean addDeltaRequest)
|
void |
resetDeltaRequest()
|
void |
resetDiff()
Resets the current diff state and resets the dirty flag |
protected void |
setAccessCount(int count)
|
void |
setAttribute(java.lang.String name,
java.lang.Object value)
Bind an object to this session, using the specified name. |
void |
setAttribute(java.lang.String name,
java.lang.Object value,
boolean notify,
boolean addDeltaRequest)
|
void |
setAuthType(java.lang.String authType)
Set the authentication type used to authenticate our cached Principal, if any. |
void |
setAuthType(java.lang.String authType,
boolean addDeltaRequest)
|
void |
setId(java.lang.String id)
Set the session identifier for this session. |
void |
setId(java.lang.String id,
boolean notify)
Set the session identifier for this session and optionally notifies any associated listeners that a new session has been created. |
protected void |
setLastTimeReplicated(long lastTimeReplicated)
|
void |
setMaxInactiveInterval(int interval)
Set the maximum time interval, in seconds, between client requests before the servlet container will invalidate the session. |
void |
setMaxInactiveInterval(int interval,
boolean addDeltaRequest)
|
void |
setNew(boolean isNew)
Set the isNew flag for this session. |
void |
setNew(boolean isNew,
boolean addDeltaRequest)
|
void |
setOwner(java.lang.Object owner)
This method is called after the object has been created on a remote map. |
void |
setPrimarySession(boolean primarySession)
Sets whether this is the primary session or not. |
void |
setPrincipal(java.security.Principal principal)
Set the authenticated Principal that is associated with this Session. |
void |
setPrincipal(java.security.Principal principal,
boolean addDeltaRequest)
|
void |
setVersion(long version)
Forces a certain version to a replicated map entry |
java.lang.String |
toString()
Return a string representation of this object. |
void |
unlock()
Unlock after serialization |
void |
writeExternal(java.io.ObjectOutput out)
|
protected void |
writeObject(java.io.ObjectOutputStream stream)
Write a serialized version of this session object to the specified object output stream. |
void |
writeObjectData(java.io.ObjectOutput stream)
|
void |
writeObjectData(java.io.ObjectOutputStream stream)
Write a serialized version of the contents of this session object to the specified object output stream, without requiring that the StandardSession itself have been serialized. |
| Methods inherited from class org.apache.catalina.session.StandardSession |
|---|
access, activate, addSessionListener, expire, fireContainerEvent, fireSessionEvent, getAttribute, getAttributeNames, getAuthType, getCreationTime, getId, getIdInternal, getInfo, getLastAccessedTime, getManager, getMaxInactiveInterval, getNote, getNoteNames, getPrincipal, getServletContext, getSession, getSessionContext, getValue, getValueNames, invalidate, isNew, isValidInternal, keys, passivate, putValue, removeAttribute, removeAttributeInternal, removeNote, removeSessionListener, removeValue, setAttribute, setCreationTime, setManager, setNote, setValid, tellNew |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.apache.catalina.Session |
|---|
access, addSessionListener, expire, getAuthType, getCreationTime, getId, getIdInternal, getInfo, getLastAccessedTime, getManager, getMaxInactiveInterval, getNote, getNoteNames, getPrincipal, getSession, removeNote, removeSessionListener, setCreationTime, setManager, setNote, setValid |
| Methods inherited from interface javax.servlet.http.HttpSession |
|---|
getAttribute, getAttributeNames, getCreationTime, getId, getLastAccessedTime, getMaxInactiveInterval, getServletContext, getSessionContext, getValue, getValueNames, invalidate, isNew, putValue, removeAttribute, removeValue |
| Field Detail |
|---|
public static Log log
protected static StringManager sm
protected final java.util.concurrent.locks.Lock diffLock
| Constructor Detail |
|---|
public DeltaSession()
public DeltaSession(Manager manager)
| Method Detail |
|---|
public boolean isDirty()
isDirty in interface ReplicatedMapEntrypublic boolean isDiffable()
isDiffable in interface ReplicatedMapEntry
public byte[] getDiff()
throws java.io.IOException
getDiff in interface ReplicatedMapEntryjava.io.IOExceptionpublic java.lang.ClassLoader[] getClassLoaders()
public void applyDiff(byte[] diff,
int offset,
int length)
throws java.io.IOException,
java.lang.ClassNotFoundException
applyDiff in interface ReplicatedMapEntrydiff - byte[]offset - intlength - int
java.io.IOException
java.lang.ClassNotFoundExceptionpublic void resetDiff()
resetDiff in interface ReplicatedMapEntrypublic void lock()
lock in interface ReplicatedMapEntrypublic void unlock()
unlock in interface ReplicatedMapEntrypublic void setOwner(java.lang.Object owner)
ReplicatedMapEntry
setOwner in interface ReplicatedMapEntryowner - Objectpublic boolean isPrimarySession()
isPrimarySession in interface ClusterSessionpublic void setPrimarySession(boolean primarySession)
setPrimarySession in interface ClusterSessionprimarySession - Flag value
public void setId(java.lang.String id,
boolean notify)
setId in interface SessionsetId in class StandardSessionid - The new session identifiernotify - Should any associated listeners be notified that a new
session has been created?public void setId(java.lang.String id)
setId in interface SessionsetId in class StandardSessionid - The new session identifierpublic long getLastAccessedTimeInternal()
getLastAccessedTimeInternal in interface SessiongetLastAccessedTimeInternal in class StandardSessionStandardSession.getLastAccessedTime().public void setMaxInactiveInterval(int interval)
StandardSession
setMaxInactiveInterval in interface javax.servlet.http.HttpSessionsetMaxInactiveInterval in interface SessionsetMaxInactiveInterval in class StandardSessioninterval - The new maximum interval
public void setMaxInactiveInterval(int interval,
boolean addDeltaRequest)
public void setNew(boolean isNew)
isNew flag for this session.
setNew in interface SessionsetNew in class StandardSessionisNew - The new value for the isNew flag
public void setNew(boolean isNew,
boolean addDeltaRequest)
public void setPrincipal(java.security.Principal principal)
Authenticator with a means to cache a
previously authenticated Principal, and avoid potentially expensive
Realm.authenticate() calls on every request.
setPrincipal in interface SessionsetPrincipal in class StandardSessionprincipal - The new Principal, or null if none
public void setPrincipal(java.security.Principal principal,
boolean addDeltaRequest)
public void setAuthType(java.lang.String authType)
setAuthType in interface SessionsetAuthType in class StandardSessionauthType - The new cached authentication type
public void setAuthType(java.lang.String authType,
boolean addDeltaRequest)
public boolean isValid()
isValid flag for this session.
isValid in interface SessionisValid in class StandardSessionpublic void endAccess()
endAccess in interface SessionendAccess in class StandardSessionpublic void expire(boolean notify)
expire in class StandardSessionnotify - Should we notify listeners about the demise of this session?
public void expire(boolean notify,
boolean notifyCluster)
public void recycle()
recycle in interface Sessionrecycle in class StandardSessionpublic java.lang.String toString()
toString in class StandardSession
public void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
readExternal in interface java.io.Externalizablejava.io.IOException
java.lang.ClassNotFoundException
public void readObjectData(java.io.ObjectInputStream stream)
throws java.lang.ClassNotFoundException,
java.io.IOException
readObjectData in class StandardSessionstream - The object input stream to read from
java.lang.ClassNotFoundException - if an unknown class is specified
java.io.IOException - if an input/output error occurs
public void readObjectData(java.io.ObjectInput stream)
throws java.lang.ClassNotFoundException,
java.io.IOException
java.lang.ClassNotFoundException
java.io.IOException
public void writeObjectData(java.io.ObjectOutputStream stream)
throws java.io.IOException
writeObjectData in class StandardSessionstream - The object output stream to write to
java.io.IOException - if an input/output error occurs
public void writeObjectData(java.io.ObjectOutput stream)
throws java.io.IOException
java.io.IOExceptionpublic void resetDeltaRequest()
public DeltaRequest getDeltaRequest()
protected boolean isAttributeDistributable(java.lang.String name,
java.lang.Object value)
isAttributeDistributable in class StandardSessionname - The name of the attribute to checkvalue - The value of the attribute to check
protected boolean exclude(java.lang.String name)
exclude in class StandardSessionname - the attribute's name
public void removeAttribute(java.lang.String name,
boolean notify)
After this method executes, and if the object implements
HttpSessionBindingListener, the container calls
valueUnbound() on the object.
removeAttribute in class StandardSessionname - Name of the object to remove from this session.notify - Should we notify interested listeners that this attribute is
being removed?
java.lang.IllegalStateException - if this method is called on an invalidated session
public void removeAttribute(java.lang.String name,
boolean notify,
boolean addDeltaRequest)
public void setAttribute(java.lang.String name,
java.lang.Object value)
After this method executes, and if the object implements
HttpSessionBindingListener, the container calls
valueBound() on the object.
setAttribute in interface javax.servlet.http.HttpSessionsetAttribute in class StandardSessionname - Name to which the object is bound, cannot be nullvalue - Object to be bound, cannot be null
java.lang.IllegalArgumentException - if an attempt is made to add a non-serializable object in
an environment marked distributable.
java.lang.IllegalStateException - if this method is called on an invalidated session
public void setAttribute(java.lang.String name,
java.lang.Object value,
boolean notify,
boolean addDeltaRequest)
protected void readObject(java.io.ObjectInputStream stream)
throws java.lang.ClassNotFoundException,
java.io.IOException
IMPLEMENTATION NOTE : The reference to the owning Manager is not restored by this method, and must be set explicitly.
readObject in class StandardSessionstream - The input stream to read from
java.lang.ClassNotFoundException - if an unknown class is specified
java.io.IOException - if an input/output error occurs
public void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
writeExternal in interface java.io.Externalizablejava.io.IOException
protected void writeObject(java.io.ObjectOutputStream stream)
throws java.io.IOException
IMPLEMENTATION NOTE : The owning Manager will not be stored in the
serialized representation of this Session. After calling
readObject(), you must set the associated Manager
explicitly.
IMPLEMENTATION NOTE : Any attribute that is not Serializable will
be unbound from the session, with appropriate actions if it implements
HttpSessionBindingListener. If you do not want any such attributes, be
sure the distributable property of the associated Manager
is set to true.
writeObject in class StandardSessionstream - The output stream to write to
java.io.IOException - if an input/output error occursprotected java.lang.Object getAttributeInternal(java.lang.String name)
protected void removeAttributeInternal(java.lang.String name,
boolean notify,
boolean addDeltaRequest)
protected long getLastTimeReplicated()
public long getVersion()
ReplicatedMapEntry
getVersion in interface ReplicatedMapEntryprotected void setLastTimeReplicated(long lastTimeReplicated)
public void setVersion(long version)
ReplicatedMapEntry
setVersion in interface ReplicatedMapEntryversion - longprotected void setAccessCount(int count)
|
Apache Tomcat 6.0.35 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||