|
Apache Tomcat 6.0.53 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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) |
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. |
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, exclude, exclude, expire, fireContainerEvent, fireSessionEvent, getAttribute, getAttributeNames, getAuthType, getCreationTime, getId, getIdInternal, getInfo, getLastAccessedTime, getManager, getMaxInactiveInterval, getNote, getNoteNames, getPrincipal, getServletContext, getSession, getSessionContext, getValue, getValueNames, invalidate, isAttributeDistributable, 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, isAttributeDistributable, 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 ReplicatedMapEntry
public boolean isDiffable()
isDiffable
in interface ReplicatedMapEntry
public byte[] getDiff() throws java.io.IOException
getDiff
in interface ReplicatedMapEntry
java.io.IOException
public java.lang.ClassLoader[] getClassLoaders()
public void applyDiff(byte[] diff, int offset, int length) throws java.io.IOException, java.lang.ClassNotFoundException
applyDiff
in interface ReplicatedMapEntry
diff
- byte[]offset
- intlength
- int
java.io.IOException
java.lang.ClassNotFoundException
public void resetDiff()
resetDiff
in interface ReplicatedMapEntry
public void lock()
lock
in interface ReplicatedMapEntry
public void unlock()
unlock
in interface ReplicatedMapEntry
public void setOwner(java.lang.Object owner)
ReplicatedMapEntry
setOwner
in interface ReplicatedMapEntry
owner
- Objectpublic boolean isPrimarySession()
isPrimarySession
in interface ClusterSession
public void setPrimarySession(boolean primarySession)
setPrimarySession
in interface ClusterSession
primarySession
- Flag valuepublic void setId(java.lang.String id, boolean notify)
setId
in interface Session
setId
in class StandardSession
id
- 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 Session
setId
in class StandardSession
id
- The new session identifierpublic long getLastAccessedTimeInternal()
getLastAccessedTimeInternal
in interface Session
getLastAccessedTimeInternal
in class StandardSession
StandardSession.getLastAccessedTime().
public void setMaxInactiveInterval(int interval)
StandardSession
setMaxInactiveInterval
in interface javax.servlet.http.HttpSession
setMaxInactiveInterval
in interface Session
setMaxInactiveInterval
in class StandardSession
interval
- The new maximum intervalpublic void setMaxInactiveInterval(int interval, boolean addDeltaRequest)
public void setNew(boolean isNew)
isNew
flag for this session.
setNew
in interface Session
setNew
in class StandardSession
isNew
- The new value for the isNew
flagpublic 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 Session
setPrincipal
in class StandardSession
principal
- The new Principal, or null
if nonepublic void setPrincipal(java.security.Principal principal, boolean addDeltaRequest)
public void setAuthType(java.lang.String authType)
setAuthType
in interface Session
setAuthType
in class StandardSession
authType
- The new cached authentication typepublic void setAuthType(java.lang.String authType, boolean addDeltaRequest)
public boolean isValid()
isValid
flag for this session.
isValid
in interface Session
isValid
in class StandardSession
public void endAccess()
endAccess
in interface Session
endAccess
in class StandardSession
public void expire(boolean notify)
expire
in class StandardSession
notify
- Should we notify listeners about the demise of this session?public void expire(boolean notify, boolean notifyCluster)
public void recycle()
recycle
in interface Session
recycle
in class StandardSession
public 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.Externalizable
java.io.IOException
java.lang.ClassNotFoundException
public void readObjectData(java.io.ObjectInputStream stream) throws java.lang.ClassNotFoundException, java.io.IOException
readObjectData
in class StandardSession
stream
- The object input stream to read from
java.lang.ClassNotFoundException
- if an unknown class is specified
java.io.IOException
- if an input/output error occurspublic 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 StandardSession
stream
- The object output stream to write to
java.io.IOException
- if an input/output error occurspublic void writeObjectData(java.io.ObjectOutput stream) throws java.io.IOException
java.io.IOException
public void resetDeltaRequest()
public DeltaRequest getDeltaRequest()
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 StandardSession
name
- 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 sessionpublic 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.HttpSession
setAttribute
in class StandardSession
name
- 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 sessionpublic 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 StandardSession
stream
- The input stream to read from
java.lang.ClassNotFoundException
- if an unknown class is specified
java.io.IOException
- if an input/output error occurspublic void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in interface java.io.Externalizable
java.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 StandardSession
stream
- 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 ReplicatedMapEntry
protected void setLastTimeReplicated(long lastTimeReplicated)
public void setVersion(long version)
ReplicatedMapEntry
setVersion
in interface ReplicatedMapEntry
version
- longprotected void setAccessCount(int count)
|
Apache Tomcat 6.0.53 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |