|
Oracle® Coherence Java API Reference v3.5 E14977-01 |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
com.tangosol.util.Base
com.tangosol.coherence.servlet.SessionHelper
public class SessionHelper
A collection of methods that support the implementation of Coherence web container components used to replace the corresponding implementations provided by the application server vendor.
Must NOT be serializable just in case the application server implements clustering on the ServletContext level (because the session helper will be stored in the app server's ServletContext).
Nested Class Summary | |
---|---|
static interface |
SessionHelper.Factory This interface is used by the SessionHelper to obtain objects that implement various important parts of the Servlet specification, and by doing so, can be placed in front of the application in lieu of the application server's own objects, thus changing the "apparent implementation" of the application server itself (e.g. |
class |
SessionHelper.SessionReaperDaemon A daemon thread class that will clean up expired sessions. |
protected static interface |
SessionHelper.Task Interface for detecting when a Runnable Task has completed. |
Field Summary | |
---|---|
static java.lang.String |
CACHE_CONFIGURATION_PATH The name of the resource that will be used to configure the session management module's own ConfigurableCacheFactory. |
static java.lang.String |
CFG_KEY_REAPER The key in the configuration cache for coordating cluster-wide session reaping. |
static java.lang.String |
CTX_ATTR_CONTEXT The name of the application server context's attribute that Coherence stores its servlet context object under. |
static java.lang.String |
CTX_ATTR_HELPER The name of the application server context's attribute that Coherence stores its session helper object under. |
static java.lang.String |
CTX_INIT_ALLOW_LOCAL_ATTRIBUTES The configuration property that specifies whether non-serializable attributes should be preserved as local. |
static java.lang.String |
CTX_INIT_APPLICATION_NAME The configuration property that overrides the name of the web application. |
static java.lang.String |
CTX_INIT_ATTR_OVERFLOW_THRESHOLD The configuration property for the "split" model that overrides the length that attributes must be below to be stored inside a session ("embedded") or above which they will be stored in the separated "overflow" cache ("external"). |
static java.lang.String |
CTX_INIT_CACHENAME_CONTEXT The name of the Coherence cache that will be used to hold the servlet context data if the servlet context is clustered by Coherence. |
static java.lang.String |
CTX_INIT_CACHENAME_DEATHCERTS The configuration property that overrides the name of the clustered cache that stores the IDs of "recently departed" sessions. |
static java.lang.String |
CTX_INIT_CACHENAME_LOCAL_ATTRIBUTES The configuration property that overrides the name of the local cache that stores non-distributed session attributes (if allowed.) |
static java.lang.String |
CTX_INIT_CACHENAME_LOCAL_SESSIONS The configuration property that overrides the name of the local cache that stores non-distributed sessions when the SessionDistributionController option is implemented. |
static java.lang.String |
CTX_INIT_CACHENAME_MANAGEMENT The configuration property that overrides the name of the clustered cache that stores the sessions management configuration data. |
static java.lang.String |
CTX_INIT_CACHENAME_OVERFLOW The configuration property that overrides the name of the clustered cache that stores the "overflowing" (split-out due to size) session attributes. |
static java.lang.String |
CTX_INIT_CACHENAME_SESSIONS The configuration property that overrides the name of the clustered cache that stores the sessions. |
static java.lang.String |
CTX_INIT_CLUSTER The name of the application server context's initialization parameter that specifies whether the ServletContext attribute values will be clustered. |
static java.lang.String |
CTX_INIT_CLUSTER_OWNED True if the cluster software is deployed as part of the application and thus must be shut down fully by the application when it shuts down. |
static java.lang.String |
CTX_INIT_COLLECTION The name of the application server context's initialization parameter that specifies the fully qualified class name of the HttpSessionCollection implementation to use. |
static java.lang.String |
CTX_INIT_COOKIE_DOMAIN The domain of the session cookie. |
static java.lang.String |
CTX_INIT_COOKIE_MAX_AGE The maximum age in seconds of the session cookie. |
static java.lang.String |
CTX_INIT_COOKIE_NAME The name of the session cookie. |
static java.lang.String |
CTX_INIT_COOKIE_PATH The path of the session cookie. |
static java.lang.String |
CTX_INIT_COOKIES_ENABLED True to enable session cookies. |
static java.lang.String |
CTX_INIT_DAEMON_ASSUME_LOCALITY True to assume that the sessions in the cache are split across only the servers that are doing reaping. |
static java.lang.String |
CTX_INIT_DAEMON_COORDINATED True to coordinate reaping in the cluster such that only one server will perform reaping within a given reaping cycle, and it will check all session ids in the cluster. |
static java.lang.String |
CTX_INIT_DAEMON_CYCLE_SECS The number of seconds that the daemon rests between reaping. |
static java.lang.String |
CTX_INIT_DAEMON_PRIORITY The priority for the session reaper daemon. |
static java.lang.String |
CTX_INIT_DAEMON_SWEEP_MODULO The number of times that the reaper reaps the sessions that are being used locally before it will check sessions that may be orphaned or expired elsewhere in the cluster. |
static java.lang.String |
CTX_INIT_DIST_CONTROLLER_CLASS The configuration property that specifies an implementation of the SessionDistributionController interface to use. |
static java.lang.String |
CTX_INIT_FACTORY The name of the application server context's initialization parameter that specifies the fully qualified class name of the SessionHelper Factory to use. |
static java.lang.String |
CTX_INIT_FILTER In the filter's configuration, the name of the filter class that is wrapped by the Coherence filter. |
static java.lang.String |
CTX_INIT_LISTENS The comma-delimited list of names of application classes that wish to receive events from the web container. |
static java.lang.String |
CTX_INIT_SCOPE_CONTROLLER_CLASS The configuration property that specifies an implementation of the AttributeScopeController interface to use. |
static java.lang.String |
CTX_INIT_SERVICENAME_OWNERSHIP The configuration property that specifies the name of the invocation service that will be used to manage sticky session ownership. |
static java.lang.String |
CTX_INIT_SERVLET In the servlet's configuration, the name of the servlet class that is wrapped by the Coherence servlet. |
static java.lang.String |
CTX_INIT_SESSION_APP_LOCK The configuration property that specifies application level session locking. |
static java.lang.String |
CTX_INIT_SESSION_EXPIRE_SECS The configuration property that overrides the session expirty time. |
static java.lang.String |
CTX_INIT_SESSION_ID_LENGTH The configuration property that overrides the session id length. |
static java.lang.String |
CTX_INIT_SESSION_MEMBER_LOCK The configuration property that specifies member level session locking. |
static java.lang.String |
CTX_INIT_SESSION_RETAIN_MILLIS The length of time to defer async exit on a session that is accessed "out of context". |
static java.lang.String |
CTX_INIT_SESSION_STICKY The configuration property that specifies whether sticky sessions optimizations will be used. |
static java.lang.String |
CTX_INIT_SESSION_STRICT_SPEC The configuration property that specifies strict spec adherence. |
static java.lang.String |
CTX_INIT_SESSION_THREAD_LOCK The configuration property that specifies thread level session locking. |
static java.lang.String |
CTX_INIT_SESSIONCONTEXT_ENABLED True to allow the application to iterate sessions from the session context, thus disobeying the deprecation in the servlet spec. |
static java.lang.String |
CTX_INIT_SHUTDOWN_DELAY_SECS The configuration property that overrides the shutdown delay time. |
static java.lang.String |
CTX_INIT_URLDECODE_DEFAULT True to use the container's decoding of the URL session ID. |
static java.lang.String |
CTX_INIT_URLENCODE_DEFAULT True to use the container's encoding of the URL session ID. |
static java.lang.String |
CTX_INIT_URLENCODE_ENABLED True to enable URL encoding of session ids. |
static java.lang.String |
CTX_INIT_URLENCODE_NAME The parameter name to encode the session id into the URL with. |
static java.lang.String |
DEFAULT_CTXNAME The default cache name for the ServletContext attribute map. |
static java.lang.String |
DEFAULT_FACTORY The default class name for the SessionHelper factory implementation. |
static java.lang.String |
DEFAULT_MGTNAME The default cache name for the session management configuration data. |
static int |
EVT_ADDED The internal enum for an attribute-added event. |
static int |
EVT_REMOVED The internal enum for an attribute-removed event. |
static int |
EVT_REPLACED The internal enum for an attribute-replaced event. |
static Filter |
NAME_FILTER The Filter object that hides init param names for Coherence params. |
static java.lang.String |
PRODUCT_BANNER The product name banner. |
static java.lang.String |
REQ_ATTR_COUNT The name of the request attribute that stores a request reference counter. |
static java.lang.String |
REQ_ATTR_SESSION The name of the request attribute that stores the current Coherence HttpSession instance. |
static java.lang.String |
REQ_ATTR_TEST The name of the request attribute that tests if the Coherence wrapper is in place. |
protected static ConfigurableCacheFactory |
s_cachefactory The session management module's own ConfigurableCacheFactory. |
Constructor Summary | |
---|---|
SessionHelper(SessionHelper.Factory factory, javax.servlet.ServletContext ctx) Construct a Coherence SessionHelper that will support the implementation of clustered web container services. |
Method Summary | |
---|---|
void |
addIgnoreAttributeName(java.lang.String sName) Register a name to ignore events for. |
protected void |
checkExpiredSessionId(java.lang.String sId) Check the specified session to see if it has expired. |
protected void |
checkForDeadSessions() Discard the HttpSession objects that are no longer alive. |
protected void |
configure(int nVersionMajor, int nVersionMinor) Called immediately after construction. |
void |
contextDestroyed() Called by the Coherence ServletContextListener on contextDestroyed() if an event listener is registered. |
void |
contextInitialized() Called by the Coherence ServletContextListener on contextInitialized() if an event listener is registered. |
javax.servlet.http.HttpSession |
createHttpSession() Create a new HttpSession object. |
RequestContext |
createRequestContext(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res) Given the specified request and response, provide a request context. |
java.lang.String |
decodeCookie(javax.servlet.http.HttpServletRequest req) Obtain a session ID from a request object by examining the cookies attached to the request. |
java.lang.String |
decodeUrl(javax.servlet.http.HttpServletRequest request) Decodes the session ID from the URL represented by the passed request. |
void |
dispatchAttributeEvent(int nEvent, javax.servlet.ServletContextAttributeEvent evt) Dispatch a wrapped event to the application listeners. |
void |
dispatchInternalAttributeEvent(int nEvent, javax.servlet.ServletContextAttributeEvent evt) Dispatch a wrapped event to the application listeners. |
void |
encodeCookie(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res, java.lang.String sId, boolean fNew) Encode a session ID into a cookie and attach it to the response object. |
java.lang.String |
encodeUrl(java.lang.String sUrl, javax.servlet.http.HttpServletRequest request) Encodes the specified URL by including the session ID in it, or, if encoding is not needed, returns the URL unchanged. |
protected java.lang.String |
encodeUrl(java.lang.String sUrl, java.lang.String sId) Encodes the specified URL by including the given session ID in it. |
protected NamedCache |
ensureConfigurationCache() Get the NamedCache used to store configuration and management information for the session management implementation if it exists, otherwise create it. |
javax.servlet.http.HttpSession |
ensureHttpSession(java.lang.String sId) Get the HttpSession object for the specified ID. |
protected NamedCache |
ensureServletContextAttributeCache() Get the clustered attribute map if it exists, otherwise create it (if the ServletContext is supposed to be clustered). |
static SessionHelper |
ensureSessionHelper(javax.servlet.ServletContext ctx) Find the existing (or create new) Coherence SessionHelper that will act as a coordinator to manage the creation and lookup of container objects, fake container objects (the Coherence implementation of the Servlet spec interfaces), and helper classes (such as the SessionHelper itself, the servlet model collection, etc.). |
TaskDaemon |
ensureSessionWorkerDaemon() Get the daemon thread that is used for scheduled tasks, creating it if necessary. |
static javax.servlet.ServletContext |
ensureWrappedServletContext(javax.servlet.ServletContext ctx) Make sure that there is a ServletContext wrapper for the specified servlet context for this application, creating one if necessary. |
void |
enterSession(java.lang.String sId) Obtain any necessary ownership for the specified session. |
void |
exitSession(java.lang.String sId, boolean fNew) Release ownership for the specified session. |
void |
filter(javax.servlet.Filter filter, javax.servlet.ServletRequest req, javax.servlet.ServletResponse resp, javax.servlet.FilterChain chain) Issue the service call to the specified servlet, given the passed request and response objects. |
void |
filterDestroyed() Called by each Coherence Filter wrapper on destroy(). |
void |
filterInitialized() Called by each Coherence Filter wrapper on init(). |
static java.lang.String |
formatCacheName(NamedCache cache) Format a NamedCache object into a human readable string. |
static java.lang.String |
formatListeners(Listeners listeners) Format a Listeners object into a human readable string. |
static java.lang.String |
formatMapKeys(java.util.Map map) Format a map into a list of keys. |
protected java.lang.String |
getApplicationName() Return the name of the web application. |
static NamedCache |
getCache(java.lang.String sCacheName) Obtain a session management cache by name. |
XmlElement |
getConfig() Determine the current configuration of the object. |
static ConfigurableCacheFactory |
getConfigurableCacheFactory() Obtain the ConfigurableCacheFactory used by the SessionHelper. |
NamedCache |
getConfigurationCache() Get the NamedCache used to store configuration and management information for the session management implementation. |
protected Listeners |
getContextAttributeListeners() Get the application listeners that listen to servlet context attribute events. |
protected int |
getDaemonCheckCollectionModulo() Determine how many times the daemon will perform its check before checking the session models that the collection considers "local". |
protected long |
getDaemonCycleMillis() Determine the number of milliseconds per reap cycle. |
protected int |
getDaemonPriority() Determine the configured priority for the session reaper daemon. |
protected java.lang.String |
getDescription() Returns a string representation of this object's attributes. |
SessionHelper.Factory |
getFactory() Determine the factory to use to instantiate container-specific implementations of the Servlet specification interfaces. |
javax.servlet.http.HttpSession |
getHttpSession(javax.servlet.http.HttpServletRequest req) Return the HttpSession associated with the given request. |
javax.servlet.http.HttpSession |
getHttpSession(java.lang.String sId) Get the HttpSession object for the specified ID. |
HttpSessionCollection |
getHttpSessionCollection() Get the HttpSessionCollection object that manages the HttpSessionModel objects. |
javax.servlet.http.HttpSessionContext |
getHttpSessionContext() Get the HttpSessionContext. |
protected java.util.Map |
getHttpSessionMap() Get the map of session ID to session object for HttpSession objects managed in this application within this JVM/classloader. |
static InvocationService |
getInvocationService(java.lang.String sService) Obtain a session management invocation service by name. |
Listeners |
getListeners() Get the application listeners. |
protected java.lang.String |
getMBeanObjectName() Return a string representation of the ObjectName used to register the MBean instance for this SessionHelper. |
javax.servlet.ServletContext |
getServletContext() Returns the Coherence ServletContext wrapper that this SessionHelper is helping with. |
NamedCache |
getServletContextAttributeCache() Get the clustered attribute map. |
int |
getServletContextMajorVersion() Returns the major version of the Java Servlet API that this servlet container supports. |
int |
getServletContextMinorVersion() Returns the minor version of the Servlet API that this servlet container supports. |
java.lang.String |
getSessionIdCookieDomain() Determine the domain of the cookie for holding the session ID. |
int |
getSessionIdCookieMaxAge() Determine the max age (in seconds) of the cookie for holding the session ID. |
java.lang.String |
getSessionIdCookieName() Determine the name of the cookie for holding the session ID. |
java.lang.String |
getSessionIdCookiePath() Determine the path of the cookie for holding the session ID. |
java.lang.String |
getSessionIdEncodingName() Determine the name of the URL parameter for session ID encoding and decoding. |
protected SessionHelper.SessionReaperDaemon |
getSessionReaperDaemon() Get the daemon thread that cleans up expired sessions. |
protected TaskDaemon |
getSessionWorkerDaemon() Get the daemon thread that is used for scheduled tasks. |
protected long |
getShutdownDelayMillis() Determine the number of milliseconds to defer shutdown after the app appears to have stopped. |
protected static int[] |
getSupportedVersion(javax.servlet.ServletContext ctx) Determine the version of the spec to find the factory for based on the passed application server ServletContext object. |
javax.servlet.ServletContext |
getWrappedServletContext() Returns the application server's ServletContext that this SessionHelper is helping with. |
static javax.servlet.ServletContext |
getWrappedServletContext(javax.servlet.ServletContext ctx) Determine the ServletContext wrapper for the specified application server context. |
protected HttpSessionCollection |
instantiateHttpSessionCollection() Get the HttpSessionCollection object that manages the HttpSessionModel objects. |
protected java.lang.Object |
instantiateMBean() Factory Method: Instantiate a MBean implementation for this SessionHelper. |
protected SessionHelper.SessionReaperDaemon |
instantiateSessionReaperDaemon() Factory method: Instantiate a daemon thread that will clean up expired sessions. |
protected TaskDaemon |
instantiateSessionWorkerDaemon() Factory method: Instantiate a daemon thread that will be used for scheduled tasks. |
protected boolean |
isAttributeNameIgnored(java.lang.String sName) Test to see if events for the specified name should be ignored. |
protected boolean |
isClusterOwned() Determine if the responsibility for shutting down the cluster is owned by the application. |
protected boolean |
isDaemonAssumeLocality() Determine if the reaper daemon assumes that session data is stored only on nodes that are running the session reaper daemon thread. |
protected boolean |
isDaemonCheckCoordinated() Determine if the reaper daemon coordinates the check across the cluster instead of just doing its own "local" scan. |
boolean |
isServletContextClustered() Determine if the context clusters attributes. |
boolean |
isServletRequestWrapped(javax.servlet.ServletRequest req) Test to see if the passed ServletRequest is wrapped, which means that invoking a method on the passed ServletRequest object will invoke the Coherence implementation, and will do so before the container implementation is invoked. |
boolean |
isSessionContextEnabled() Determine if the session context should disobey the deprecation and allow an application to enumerate sessions. |
boolean |
isSessionIdCookie(javax.servlet.http.Cookie cookie) Tests to see if the supplied cookie is a session ID cookie. |
boolean |
isSessionIdCookieEnabled() Determine if a cookie may be used to hold the session ID. |
boolean |
isSessionIdEncodingEnabled() Determine if URL encoding may be used to hold the session ID. |
boolean |
isStrict() Determine if the Servlet specification is being followed strictly. |
boolean |
isUseDefaultSessionIdDecoding() Determine if the session ID decoding (from a URL) performed by the application server's request object is sufficient. |
boolean |
isUseDefaultSessionIdEncoding() Determine if the session ID encoding (into a URL) performed by the application server's response object is sufficient. |
void |
killSession(java.lang.String sId) Forcibly destroy a session. |
static void |
logEventException(java.lang.RuntimeException e, java.lang.String sMethod, boolean fContinue) Log an event exception. |
static boolean |
parseBoolean(javax.servlet.ServletContext ctx, java.lang.String sParam, boolean fDefault) Helper: Get a boolean init parameter from the context. |
static int |
parseInt(javax.servlet.ServletContext ctx, java.lang.String sParam, int nDefault) Helper: Get an int init parameter from the context. |
static java.lang.String |
parseString(javax.servlet.ServletContext ctx, java.lang.String sParam, java.lang.String sDefault) Helper: Get a String init parameter from the context. |
void |
postService(RequestContext ctx) Finish the request processing after the servlet/jsp is complete. |
RequestContext |
preService(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res) Wrap the passed request and response (if necessary) and build a request context that contains all the pertinent information about the request. |
protected void |
registerMBean() Register an MBean instance for this SessionHelper. |
void |
removeIgnoreAttributeName(java.lang.String sName) Unregister a name to ignore events for. |
void |
requestAsyncOwnership(java.lang.String sId) Enter (obtain) and schedule an asynchronous call to exit (release) the specified session ID. |
void |
service(javax.servlet.Servlet servlet, javax.servlet.ServletRequest req, javax.servlet.ServletResponse resp) Issue the service call to the specified servlet, given the passed request and response objects. |
void |
servletDestroyed() Called by each Coherence Servlet wrapper on destroy(). |
void |
servletInitialized() Called by each Coherence Servlet wrapper on init(). |
void |
setConfig(XmlElement xml) Specify the configuration for the object. |
void |
setHttpSession(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpSession session) Associate the supplied HttpSession with the given request. |
void |
setListeners(Listeners listeners) Store the application listeners. |
protected void |
setSessionWorkerDaemon(TaskDaemon daemon) Set the daemon thread that is used for scheduled tasks. |
protected void |
shutdown() Shuts down the SessionHelper and any mess that it created. |
protected void |
shutdownConfigurationCache() Shutdown the NamedCache used to store configuration and management information for the session management implementation. |
void |
shutdownHttpSessionCollection() Shutdown the http session collection. |
protected void |
shutdownServletContextAttributeCache() Shutdown the clustered attribute map. |
void |
shutdownSessionReaperDaemon() Stop the daemon thread that is used for expiring sessions. |
void |
shutdownSessionWorkerDaemon() Stop the daemon thread that is used for scheduled tasks. |
java.lang.String |
toString() Returns a string representation of the object. |
protected void |
unregisterMBean() Unregister the MBean instance for this SessionHelper. |
javax.servlet.FilterConfig |
unwrapFilterConfig(javax.servlet.FilterConfig cfg) Attempt to unwrap the passed FilterConfig wrapper to get the container's FilterConfig object back. |
javax.servlet.ServletConfig |
unwrapServletConfig(javax.servlet.ServletConfig cfg) Attempt to unwrap the passed ServletConfig wrapper to get the container's ServletConfig object back. |
javax.servlet.ServletRequest |
unwrapServletRequest(javax.servlet.ServletRequest req) Fully unwrap the specified request object. |
javax.servlet.FilterConfig |
wrapFilterConfig(javax.servlet.FilterConfig cfg) Given the specified FilterConfig object, return a wrapper to use. |
javax.servlet.ServletConfig |
wrapServletConfig(javax.servlet.ServletConfig cfg) Given the specified servlet config object, return a wrapper to use. |
javax.servlet.ServletRequest |
wrapServletRequest(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res) Given the specified request, create a request wrapper. |
Field Detail |
---|
public static final java.lang.String PRODUCT_BANNER
public static final java.lang.String CACHE_CONFIGURATION_PATH
public static final int EVT_ADDED
public static final int EVT_REMOVED
public static final int EVT_REPLACED
public static final java.lang.String CTX_INIT_APPLICATION_NAME
public static final java.lang.String CTX_INIT_FACTORY
public static final java.lang.String CTX_INIT_COLLECTION
public static final java.lang.String CTX_INIT_CLUSTER_OWNED
public static final java.lang.String CTX_INIT_CLUSTER
public static final java.lang.String CTX_INIT_CACHENAME_CONTEXT
public static final java.lang.String CTX_INIT_LISTENS
public static final java.lang.String CTX_INIT_SESSIONCONTEXT_ENABLED
public static final java.lang.String CTX_INIT_SESSION_RETAIN_MILLIS
public static final java.lang.String CTX_INIT_COOKIES_ENABLED
public static final java.lang.String CTX_INIT_COOKIE_NAME
public static final java.lang.String CTX_INIT_COOKIE_DOMAIN
public static final java.lang.String CTX_INIT_COOKIE_PATH
public static final java.lang.String CTX_INIT_COOKIE_MAX_AGE
public static final java.lang.String CTX_INIT_URLENCODE_ENABLED
public static final java.lang.String CTX_INIT_URLENCODE_NAME
public static final java.lang.String CTX_INIT_URLDECODE_DEFAULT
public static final java.lang.String CTX_INIT_URLENCODE_DEFAULT
public static final java.lang.String CTX_INIT_DAEMON_PRIORITY
public static final java.lang.String CTX_INIT_DAEMON_CYCLE_SECS
public static final java.lang.String CTX_INIT_DAEMON_COORDINATED
public static final java.lang.String CTX_INIT_DAEMON_ASSUME_LOCALITY
public static final java.lang.String CTX_INIT_DAEMON_SWEEP_MODULO
public static final java.lang.String CTX_INIT_CACHENAME_MANAGEMENT
public static final java.lang.String CTX_INIT_CACHENAME_SESSIONS
public static final java.lang.String CTX_INIT_CACHENAME_DEATHCERTS
public static final java.lang.String CTX_INIT_CACHENAME_OVERFLOW
public static final java.lang.String CTX_INIT_CACHENAME_LOCAL_SESSIONS
public static final java.lang.String CTX_INIT_CACHENAME_LOCAL_ATTRIBUTES
public static final java.lang.String CTX_INIT_SESSION_EXPIRE_SECS
public static final java.lang.String CTX_INIT_SESSION_ID_LENGTH
public static final java.lang.String CTX_INIT_ATTR_OVERFLOW_THRESHOLD
public static final java.lang.String CTX_INIT_SESSION_MEMBER_LOCK
public static final java.lang.String CTX_INIT_SESSION_APP_LOCK
public static final java.lang.String CTX_INIT_SESSION_THREAD_LOCK
public static final java.lang.String CTX_INIT_SESSION_STRICT_SPEC
public static final java.lang.String CTX_INIT_SHUTDOWN_DELAY_SECS
public static final java.lang.String CTX_INIT_SERVLET
This is used in a web-xml
<servlet>
element to designate the application servlet name that the Coherence implementation is being wrapped around; this must be done for each application servlet.
Before:
<servlet>
<servlet-name>MyServlet</servlet-name>
<display-name>MyServlet</display-name>
<description>this servlet is part of my app</description>
<servlet-class>com.mypkg.MyServlet</servlet-class>
<init-param>
<param-name>ContextPath</param-name>
<param-value>/tomcat</param-value>
</init-param>
</servlet>
After:
<servlet>
<servlet-name>MyServlet</servlet-name>
<display-name>MyServlet</display-name>
<description>this servlet is part of my app</description>
<servlet-class>com.tangosol.coherence.servlet.api22.HttpServletWrapper</servlet-class>
<init-param>
<param-name>ContextPath</param-name>
<param-value>/tomcat</param-value>
</init-param>
<init-param>
<param-name>coherence-servlet-class</param-name>
<param-value>com.mypkg.MyServlet</param-value>
</init-param>
</servlet>
public static final java.lang.String CTX_INIT_FILTER
This is used in a web-xml
<filter>
element to designate the application filter name that the Coherence implementation is being wrapped around; this must be done for each application filter.
public static final java.lang.String CTX_INIT_DIST_CONTROLLER_CLASS
public static final java.lang.String CTX_INIT_SCOPE_CONTROLLER_CLASS
public static final java.lang.String CTX_INIT_SESSION_STICKY
public static final java.lang.String CTX_INIT_SERVICENAME_OWNERSHIP
public static final java.lang.String CTX_INIT_ALLOW_LOCAL_ATTRIBUTES
public static final java.lang.String CTX_ATTR_HELPER
public static final java.lang.String CTX_ATTR_CONTEXT
Also, the name of the request attribute used to store the request context.
public static final java.lang.String REQ_ATTR_COUNT
public static final java.lang.String REQ_ATTR_SESSION
public static final java.lang.String REQ_ATTR_TEST
public static final java.lang.String DEFAULT_FACTORY
public static final java.lang.String DEFAULT_CTXNAME
public static final java.lang.String DEFAULT_MGTNAME
public static final java.lang.String CFG_KEY_REAPER
public static final Filter NAME_FILTER
protected static ConfigurableCacheFactory s_cachefactory
Constructor Detail |
---|
public SessionHelper(SessionHelper.Factory factory, javax.servlet.ServletContext ctx)
factory
- the object that will instantiate the container-specific (or servlet spec specific) implementationsctx
- the application server's ServletContext objectMethod Detail |
---|
protected void configure(int nVersionMajor, int nVersionMinor)
nVersionMajor
- the servlet specification major version numbernVersionMinor
- the servlet specification minor version numberpublic XmlElement getConfig()
public void setConfig(XmlElement xml)
xml
- the XML configuration for the objectjava.lang.IllegalStateException
- if the object is not in a state that allows the configuration to be set; for example, if the object has already been configured and cannot be reconfiguredpublic static SessionHelper ensureSessionHelper(javax.servlet.ServletContext ctx)
ctx
- the application server's ServletContext objectprotected static int[] getSupportedVersion(javax.servlet.ServletContext ctx)
Note: Hard-coded to support 2.3 through 2.5.
ctx
- the application server's ServletContext objectpublic static ConfigurableCacheFactory getConfigurableCacheFactory()
public static NamedCache getCache(java.lang.String sCacheName)
sCacheName
- the name of the cache to obtainpublic static InvocationService getInvocationService(java.lang.String sService)
sService
- the name of the invocation service to obtainprotected java.lang.String getApplicationName()
protected java.lang.String getMBeanObjectName()
protected java.lang.Object instantiateMBean()
protected void registerMBean()
protected void unregisterMBean()
public void contextInitialized()
public void contextDestroyed()
public void servletInitialized()
public void servletDestroyed()
public void filterInitialized()
public void filterDestroyed()
protected void shutdown()
protected boolean isClusterOwned()
protected long getShutdownDelayMillis()
public static javax.servlet.ServletContext getWrappedServletContext(javax.servlet.ServletContext ctx)
ctx
- a ServletContextpublic static javax.servlet.ServletContext ensureWrappedServletContext(javax.servlet.ServletContext ctx)
ctx
- this application's ServletContextpublic javax.servlet.ServletContext getServletContext()
public NamedCache getServletContextAttributeCache()
protected NamedCache ensureServletContextAttributeCache()
protected void shutdownServletContextAttributeCache()
public int getServletContextMajorVersion()
public int getServletContextMinorVersion()
public javax.servlet.ServletContext getWrappedServletContext()
public boolean isServletContextClustered()
public boolean isStrict()
public static java.lang.String parseString(javax.servlet.ServletContext ctx, java.lang.String sParam, java.lang.String sDefault)
ctx
- the ServletContextsParam
- the init parameter namesDefault
- the default to return if the init parameter is not present or is blankpublic static boolean parseBoolean(javax.servlet.ServletContext ctx, java.lang.String sParam, boolean fDefault)
ctx
- the ServletContextsParam
- the init parameter namefDefault
- the default to return if the init parameter is not present or is not a boolean valuepublic static int parseInt(javax.servlet.ServletContext ctx, java.lang.String sParam, int nDefault)
ctx
- the ServletContextsParam
- the init parameter namenDefault
- the default to return if the init parameter is not present or is not an int valuepublic Listeners getListeners()
public void setListeners(Listeners listeners)
listeners
- a Listeners object containing all EventListener objects for the applicationprotected Listeners getContextAttributeListeners()
public void addIgnoreAttributeName(java.lang.String sName)
sName
- the name to ignore events forpublic void removeIgnoreAttributeName(java.lang.String sName)
sName
- the name to no longer ignore events forprotected boolean isAttributeNameIgnored(java.lang.String sName)
sName
- the name to test whether events are being ignored forpublic void dispatchAttributeEvent(int nEvent, javax.servlet.ServletContextAttributeEvent evt)
nEvent
- the internal enum that identifies the event nameevt
- the application server's ServletContextAttributeEventpublic void dispatchInternalAttributeEvent(int nEvent, javax.servlet.ServletContextAttributeEvent evt)
nEvent
- the internal enum that identifies the event nameevt
- the application server's ServletContextAttributeEventpublic javax.servlet.FilterConfig wrapFilterConfig(javax.servlet.FilterConfig cfg)
cfg
- the container's FilterConfig objectpublic javax.servlet.FilterConfig unwrapFilterConfig(javax.servlet.FilterConfig cfg)
public void filter(javax.servlet.Filter filter, javax.servlet.ServletRequest req, javax.servlet.ServletResponse resp, javax.servlet.FilterChain chain) throws javax.servlet.ServletException, java.io.IOException
filter
- the application's filter to invokereq
- the ServletRequest
object that contains the client's requestresp
- the ServletResponse
object that contains the servlet's responsechain
- the FilterChain to use to invoke the next filter or the Servletjavax.servlet.ServletException
java.io.IOException
public javax.servlet.ServletConfig wrapServletConfig(javax.servlet.ServletConfig cfg)
cfg
- the container's servlet config objectpublic javax.servlet.ServletConfig unwrapServletConfig(javax.servlet.ServletConfig cfg)
public boolean isServletRequestWrapped(javax.servlet.ServletRequest req)
req
- a ServletRequest objectpublic javax.servlet.ServletRequest wrapServletRequest(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res)
req
- a ServletRequest object that might need wrappingres
- the associated ServletResponsepublic javax.servlet.ServletRequest unwrapServletRequest(javax.servlet.ServletRequest req)
req
- a ServletRequest objectpublic java.lang.String decodeCookie(javax.servlet.http.HttpServletRequest req)
req
- an HttpServletRequest object that may have a session cookie attached to itpublic void encodeCookie(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res, java.lang.String sId, boolean fNew)
req
- the HttpServletRequest object for the current requestres
- the HttpServletResponse object for the current request that the session cookie should be attached tosId
- the session IDfNew
- true if the session was just createdpublic boolean isSessionIdCookie(javax.servlet.http.Cookie cookie)
cookie
- the cookie to testpublic RequestContext createRequestContext(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res)
req
- a ServletRequest object that might need wrapping or might have already been wrappedres
- a ServletResponse object that might need wrapping or might have already been wrappedpublic RequestContext preService(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res) throws javax.servlet.ServletException, java.io.IOException
req
- the servlet response object (could already be wrapped)res
- the servlet response object (could already be wrapped)javax.servlet.ServletException
java.io.IOException
public void postService(RequestContext ctx) throws javax.servlet.ServletException, java.io.IOException
ctx
- the request context returned by preService()
javax.servlet.ServletException
java.io.IOException
public void service(javax.servlet.Servlet servlet, javax.servlet.ServletRequest req, javax.servlet.ServletResponse resp) throws javax.servlet.ServletException, java.io.IOException
servlet
- the servlet to invokereq
- a ServletRequest object that might need wrapping or might have already been wrappedresp
- might a ServletResponse object that might need wrapping or have already been wrappedjavax.servlet.ServletException
java.io.IOException
protected HttpSessionCollection instantiateHttpSessionCollection()
public HttpSessionCollection getHttpSessionCollection()
protected java.util.Map getHttpSessionMap()
public javax.servlet.http.HttpSession createHttpSession()
public javax.servlet.http.HttpSession getHttpSession(java.lang.String sId)
sId
- the session IDpublic javax.servlet.http.HttpSession ensureHttpSession(java.lang.String sId)
sId
- the session IDpublic javax.servlet.http.HttpSession getHttpSession(javax.servlet.http.HttpServletRequest req)
req
- the requestpublic void setHttpSession(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpSession session)
req
- the requestsession
- the session to associate with the given requestpublic boolean isSessionContextEnabled()
public javax.servlet.http.HttpSessionContext getHttpSessionContext()
public boolean isSessionIdCookieEnabled()
public java.lang.String getSessionIdCookieName()
public java.lang.String getSessionIdCookieDomain()
public java.lang.String getSessionIdCookiePath()
public int getSessionIdCookieMaxAge()
public boolean isSessionIdEncodingEnabled()
public java.lang.String getSessionIdEncodingName()
public boolean isUseDefaultSessionIdDecoding()
public boolean isUseDefaultSessionIdEncoding()
public java.lang.String decodeUrl(javax.servlet.http.HttpServletRequest request)
request
- the current HttpServletRequestpublic java.lang.String encodeUrl(java.lang.String sUrl, javax.servlet.http.HttpServletRequest request)
sUrl
- the URL to be encodedrequest
- the current HttpServletRequestprotected java.lang.String encodeUrl(java.lang.String sUrl, java.lang.String sId)
sUrl
- the URL to be encodedsId
- the session ID to encode in the URLpublic void enterSession(java.lang.String sId)
If the session specified by the session ID does not exist, then this method has no effect; no exception is thrown.
sId
- the session idpublic void exitSession(java.lang.String sId, boolean fNew)
enterSession(sId)
, with the only exceptions being:
enterSession(sId)
method was never invoked.If the session specified by the session ID does not exist, then this method has no effect; no exception is thrown.
sId
- the session idfNew
- true if the session was just createdpublic void requestAsyncOwnership(java.lang.String sId)
sId
- the session ID to async enter and exitpublic void shutdownHttpSessionCollection()
public java.lang.String toString()
public NamedCache getConfigurationCache()
protected NamedCache ensureConfigurationCache()
protected void shutdownConfigurationCache()
protected java.lang.String getDescription()
public SessionHelper.Factory getFactory()
protected SessionHelper.SessionReaperDaemon instantiateSessionReaperDaemon()
protected SessionHelper.SessionReaperDaemon getSessionReaperDaemon()
protected int getDaemonPriority()
protected long getDaemonCycleMillis()
protected int getDaemonCheckCollectionModulo()
protected boolean isDaemonCheckCoordinated()
protected boolean isDaemonAssumeLocality()
protected void checkForDeadSessions()
protected void checkExpiredSessionId(java.lang.String sId)
sId
- a session idpublic void killSession(java.lang.String sId)
sId
- the session ID to destroypublic void shutdownSessionReaperDaemon()
protected TaskDaemon instantiateSessionWorkerDaemon()
protected TaskDaemon getSessionWorkerDaemon()
protected void setSessionWorkerDaemon(TaskDaemon daemon)
daemon
- the session worker daemonpublic TaskDaemon ensureSessionWorkerDaemon()
public void shutdownSessionWorkerDaemon()
public static java.lang.String formatListeners(Listeners listeners)
listeners
- a Listeners objectpublic static java.lang.String formatCacheName(NamedCache cache)
cache
- a NamedCache objectpublic static java.lang.String formatMapKeys(java.util.Map map)
map
- a Map objectpublic static void logEventException(java.lang.RuntimeException e, java.lang.String sMethod, boolean fContinue)
e
- the exceptionsMethod
- the event method name etc.fContinue
- true if the execution will be continued; false if the exception has to be logged and re-thrown
|
Oracle® Coherence Java API Reference v3.5 E14977-01 |
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |