|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.mobicents.servlet.sip.core.session.SipApplicationSessionImpl
org.jboss.web.tomcat.service.session.ClusteredSipApplicationSession
org.jboss.web.tomcat.service.session.JBossCacheClusteredSipApplicationSession
org.jboss.web.tomcat.service.session.SessionBasedClusteredSipApplicationSession
public class SessionBasedClusteredSipApplicationSession
Implementation of a clustered sip application session for the JBossCacheManager. This class is based on the following Jboss class org.jboss.web.tomcat.service.session.SessionBasedClusteredSession JBOSS AS 4.2.2 Tag The replication granularity level is session based; that is, we replicate per whole session object. We use JBossCache for our internal replicated data store. The internal structure in JBossCache is as follows:
/SIPSESSION
/hostname
/sip_app_name (path + session id is unique)
/sipapplicationsessionid Map(id, session)
(VERSION_KEY, version) // Used for version tracking. version is an Integer.
Note that the isolation level of the cache dictates the
concurrency behavior.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.mobicents.servlet.sip.core.session.SipApplicationSessionImpl |
|---|
SipApplicationSessionImpl.SipApplicationSessionTimerTask |
| Nested classes/interfaces inherited from interface javax.servlet.sip.SipApplicationSession |
|---|
SipApplicationSession.Protocol |
| Field Summary | |
|---|---|
protected static java.lang.String |
info
Descriptive information describing this Session implementation. |
| Fields inherited from class org.jboss.web.tomcat.service.session.JBossCacheClusteredSipApplicationSession |
|---|
proxy_ |
| Fields inherited from class org.jboss.web.tomcat.service.session.ClusteredSipApplicationSession |
|---|
alwaysReplicateMetadata, excludedAttributes, firstAccess, futureExpirationTimeOnPassivation, hasActivationListener, httpSessionsOnPassivation, invalidationPolicy, isSessionModifiedSinceLastSave, lastReplicated, maxUnreplicatedFactor, maxUnreplicatedInterval, outdatedTime, outdatedVersion, replicationExcludes, sessionAttributesDirty, sessionMetadataDirty, sipSessionsOnPassivation, sm, version |
| Fields inherited from class org.mobicents.servlet.sip.core.session.SipApplicationSessionImpl |
|---|
creationTime, currentRequestHandler, executorService, expirationTimerFuture, expirationTimerTask, expired, httpSessions, invalidateWhenReady, isValid, key, lastAccessedTime, readyToInvalidate, servletTimers, sipApplicationSessionAttributeMap, sipContext, sipSessions |
| Fields inherited from interface org.mobicents.servlet.sip.core.session.MobicentsSipApplicationSession |
|---|
SIP_APPLICATION_KEY_PARAM_NAME |
| Constructor Summary | |
|---|---|
SessionBasedClusteredSipApplicationSession(SipApplicationSessionKey key,
SipContext sipContext)
|
|
| Method Summary | |
|---|---|
protected java.lang.Object |
getJBossInternalAttribute(java.lang.String name)
|
protected java.util.Map |
getJBossInternalAttributes()
|
boolean |
getReplicateSessionBody()
Overrides the superclass version to return true if either
the metadata or the attributes are dirty. |
protected void |
populateAttributes()
Does nothing -- all attributes are populated already |
void |
readExternal(java.io.ObjectInput in)
Overrides the superclass version by additionally reading the attributes map. |
protected java.lang.Object |
removeJBossInternalAttribute(java.lang.String name,
boolean localCall,
boolean localOnly)
|
void |
removeMyself()
Remove myself from the internal store. |
void |
removeMyselfLocal()
Remove myself from the |
protected java.lang.Object |
setJBossInternalAttribute(java.lang.String name,
java.lang.Object value)
|
java.lang.String |
toString()
Return a string representation of this object. |
void |
writeExternal(java.io.ObjectOutput out)
Overrides the superclass version by appending the attributes map. |
| Methods inherited from class org.jboss.web.tomcat.service.session.JBossCacheClusteredSipApplicationSession |
|---|
establishProxy, initAfterLoad, processSessionRepl, removeAttributeInternal, removeFromManager, removeJBossInternalAttribute |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected static final java.lang.String info
| Constructor Detail |
|---|
public SessionBasedClusteredSipApplicationSession(SipApplicationSessionKey key,
SipContext sipContext)
key - sipFactoryImpl - mobicentsSipApplicationSession - | Method Detail |
|---|
public java.lang.String toString()
toString in class ClusteredSipApplicationSessionpublic void removeMyself()
ClusteredSipApplicationSession
removeMyself in class ClusteredSipApplicationSessionpublic void removeMyselfLocal()
ClusteredSipApplicationSession
removeMyselfLocal in class ClusteredSipApplicationSessionprotected void populateAttributes()
populateAttributes in class JBossCacheClusteredSipApplicationSessionprotected java.lang.Object getJBossInternalAttribute(java.lang.String name)
getJBossInternalAttribute in class ClusteredSipApplicationSession
protected java.lang.Object removeJBossInternalAttribute(java.lang.String name,
boolean localCall,
boolean localOnly)
removeJBossInternalAttribute in class JBossCacheClusteredSipApplicationSessionprotected java.util.Map getJBossInternalAttributes()
getJBossInternalAttributes in class ClusteredSipApplicationSession
protected java.lang.Object setJBossInternalAttribute(java.lang.String name,
java.lang.Object value)
setJBossInternalAttribute in class ClusteredSipApplicationSession
public void readExternal(java.io.ObjectInput in)
throws java.io.IOException,
java.lang.ClassNotFoundException
This method is deliberately public so it can be used to reset the internal state of a session object using serialized contents replicated from another JVM via JBossCache.
readExternal in interface java.io.ExternalizablereadExternal in class ClusteredSipApplicationSessionjava.io.IOException
java.lang.ClassNotFoundExceptionClusteredSession.readExternal(java.io.ObjectInput)
public void writeExternal(java.io.ObjectOutput out)
throws java.io.IOException
ClusteredSession#excludedAttributes.
writeExternal in interface java.io.ExternalizablewriteExternal in class ClusteredSipApplicationSessionjava.io.IOExceptionClusteredSession.writeExternal(java.io.ObjectOutput)public boolean getReplicateSessionBody()
true if either
the metadata or the attributes are dirty.
getReplicateSessionBody in class ClusteredSipApplicationSession
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||