Java Doc for PagedSessionHome.java in  » J2EE » Enhydra-Application-Framework » com » lutris » appserver » server » sessionEnhydra » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » J2EE » Enhydra Application Framework » com.lutris.appserver.server.sessionEnhydra 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   com.lutris.appserver.server.sessionEnhydra.PagedSessionHome

All known Subclasses:   com.lutris.appserver.server.sessionEnhydra.persistent.PersistentSessionHome,  com.lutris.appserver.server.sessionEnhydra.DiskPagedSessionHome,
PagedSessionHome
abstract public class PagedSessionHome implements StandardSessionHome(Code)
The StandardSessionManager uses PagedSessionHome to manage a collection of sessions that can be paged to disk.

PagedSessionHome will page sessions to disk as soon as a pre-configured threshold of sessions has been reached. Only sessions in the 'passive' state will be paged to disk. If all sessions are in the 'active' state and the threshold has been reached, then a request to create a new session will block until one of the 'active' sessions goes into the 'passive' state. At this point the session that just became 'passive' is paged to disk and a new session is created.

Sessions are paged to disk by serializing the all data (excluding the session manager) that is associated with a session. This requires that the session data and user associated with a session are serializable.

The following parameters can be used to configure the PagedSessionHome. They should be grouped together in a section, normally SessionManager.SessionHome, which is specified to the constructor.

  • PageThreshold: {int}

    Specifies the maximum number of session that may reside in memory simultaneously. If set to zero the the paged session home acts as a write through cache. If set to -1, then the page threshold is assumed to be infinite and paging will never take place. If not set, defaults to -1.

  • PageTimeThreshold: {long}

    Specifies the amount of time a session may remain in memory before it is paged out to disk. If this parameter is not set, or, it is set to -1, then the session will not be paged out unless the PageThreshold is reached.

  • PageWait: {int}

    Specifies the maximum time (in milliseconds) that a thread will wait for a session to be created or retrieved. If the page threshold has been reached, then a thread has to wait for an existing session to be paged before a new session can be created or a pre-existing session (that has been paged to disk) can be activated. If not set, defaults to 1 minute. If this time is exceeded then an exception is thrown - this prevents a possible deadlock situation.

  • PageDir: {String}

    The directory where sessions will be paged. This setting is required.

  • MaxSessions: {int}

    Specifies the maximum number of in use concurrent sessions. If this value is exceeded then CreateSession() will throw a CreateSessionException. -1 indicates unlimited session. If MaxSessions is not set in the application's configuration then MaxSessions defaults to unlimited sessions.


See Also:   StandardSession
See Also:   StandardSessionManager
version:
   $Revision: 1.3 $
author:
   Kyle Clark


Field Summary
protected  ClassLoaderloader
     The class loader to use when reading in paged data.
protected  StandardSessionManagersessionMgr
     The session manager associated with the session home.

Constructor Summary
public  PagedSessionHome(StandardSessionManager sessionMgr, Config config, ClassLoader loader)
    
Parameters:
  sessionMgr - The session manager associated with this session home.
Parameters:
  config - Object parsed from configuration file.

Method Summary
 longcheckPassiveSessions()
     Pages out any sessions that are passive and have exceeded the page time threshold.
abstract protected  booleancleanupNewPagedSession()
     Removes a session that is new and paged.
public  booleancontainsKey(String sessionKey)
     Specifies if a key is currently in use.
Parameters:
  sessionKey - the session key to be tested.
public synchronized  StandardSessioncreateSession(String sessionKey)
     Creates a new session instance in the cache.
protected  voiddebug(String msg)
     Prints debug information under Logger.DEBUG.
protected  voiddebug(int level, String msg)
     Prints debug information under Logger.DEBUG.
abstract protected  voiddeleteSession(String sessionKey)
     Deletes a paged session.
abstract protected  intgetPagedSessionCount()
     Returns the number of paged sessions.
abstract protected  EnumerationgetPagedSessionKeys()
     Returns an enumeration of the keys of all the sessions that have been paged out to persistent storage.
public synchronized  StandardSessiongetSession(String sessionKey)
     Returns the session associated with the session key.
public synchronized  StandardSessiongetSession(Thread thread, String sessionKey)
     Returns the session associated with the session key. The session is associated with the specified thread. The session is put into the 'active' state.
Parameters:
  thread - the thread to associate with the session.
Parameters:
  sessionKey - the session key for the sessionthat will be made 'active' and returned.
public synchronized  Enumerationkeys()
     Returns an enumeration of keys for the cached sessions.
abstract protected  PagedSessionnewSession(StandardSessionManager mgr, String sessionKey)
     Creates a new session object.
abstract protected  PagedSessionpageIn(String sessionKey)
     Reads a paged session from disk.
Parameters:
  sessionKey - the key identifying the session that shouldbe paged in.
abstract protected  voidpageOut(PagedSession s)
     Pages a session to disk.
abstract protected  booleanpagedSessionKeyExists(String sessionKey)
     Returns true if the specified session key is in use by a session that has been paged out.
Parameters:
  sessionKey - the session key to test.
public  intpagedSize()
     Returns the current number of sessions that are paged to persistent store.
public synchronized  voidpassivateSession(Thread thread, String sessionKey)
     Puts an 'active' session into the 'passive' state.
public synchronized  voidremoveSession(String sessionKey)
     Removes the session associated with the session key.
Parameters:
  sessionKey - the session key for the sessionthat will be made 'active' and returned.
public synchronized  voidshutdown()
     Shuts down the session home.
public  intsize()
     Returns the current number of sessions.

Field Detail
loader
protected ClassLoader loader(Code)
The class loader to use when reading in paged data.



sessionMgr
protected StandardSessionManager sessionMgr(Code)
The session manager associated with the session home.




Constructor Detail
PagedSessionHome
public PagedSessionHome(StandardSessionManager sessionMgr, Config config, ClassLoader loader) throws SessionException, ConfigException(Code)

Parameters:
  sessionMgr - The session manager associated with this session home.
Parameters:
  config - Object parsed from configuration file. This should befor the section containing the standard session home configuration.
Parameters:
  loader - The class load to use when load objects from persistent store.
exception:
  ConfigException - signifies a problem in the configuration file.
exception:
  SessionException - if the initialization fails.




Method Detail
checkPassiveSessions
long checkPassiveSessions() throws SessionException(Code)
Pages out any sessions that are passive and have exceeded the page time threshold. returns the amount of time in milliseconds whenthe next check should occur.



cleanupNewPagedSession
abstract protected boolean cleanupNewPagedSession() throws SessionException(Code)
Removes a session that is new and paged. true is a new session was found and deleted.
exception:
  SessionException - if an error occurs.



containsKey
public boolean containsKey(String sessionKey) throws SessionException(Code)
Specifies if a key is currently in use.
Parameters:
  sessionKey - the session key to be tested. true if the session key is in use.
exception:
  SessionException - if an error occurs.



createSession
public synchronized StandardSession createSession(String sessionKey) throws CreateSessionException, DuplicateKeyException, SessionException(Code)
Creates a new session instance in the cache. The session is associated with the session key and the current thread.
Parameters:
  sessionKey - the key to associate with the session. the newly created session.
exception:
  DuplicateKeyException - if the session cannotbe created because the key is already in use.
exception:
  CreateSessionException - if the session could not be created.
exception:
  SessionException - any other internal error.



debug
protected void debug(String msg)(Code)
Prints debug information under Logger.DEBUG.
Parameters:
  msg - the message to print.



debug
protected void debug(int level, String msg)(Code)
Prints debug information under Logger.DEBUG.
Parameters:
  level - the debug level.
Parameters:
  msg - the message to print.



deleteSession
abstract protected void deleteSession(String sessionKey) throws SessionException(Code)
Deletes a paged session. If the session doesn't exist then this is a noop.
Parameters:
  sessionKey - the key identifying the sessionthat should be deleted.



getPagedSessionCount
abstract protected int getPagedSessionCount() throws SessionException(Code)
Returns the number of paged sessions.



getPagedSessionKeys
abstract protected Enumeration getPagedSessionKeys() throws SessionException(Code)
Returns an enumeration of the keys of all the sessions that have been paged out to persistent storage. the session key enumeration.
exception:
  SessionException - if an error occurs.



getSession
public synchronized StandardSession getSession(String sessionKey) throws SessionException(Code)
Returns the session associated with the session key. The session must already be associated with the current thread otherwize null is returned.
Parameters:
  sessionKey - the session key the session.
See Also:   PagedSessionHome.getSession(Thread,String)
exception:
  SessionException - if the session could not be retrieved.



getSession
public synchronized StandardSession getSession(Thread thread, String sessionKey) throws SessionException(Code)
Returns the session associated with the session key. The session is associated with the specified thread. The session is put into the 'active' state.
Parameters:
  thread - the thread to associate with the session.
Parameters:
  sessionKey - the session key for the sessionthat will be made 'active' and returned. If thesession doesn't exist or it hasn't beenassociated with this thread then null is returned. the session.
exception:
  SessionException - if the session could not be retrieved.



keys
public synchronized Enumeration keys() throws SessionException(Code)
Returns an enumeration of keys for the cached sessions. the session keys enumeration.
exception:
  SessionException - if an error occurs.



newSession
abstract protected PagedSession newSession(StandardSessionManager mgr, String sessionKey) throws SessionException(Code)
Creates a new session object. This method is intended to be overriden by classes that extend PagedSessionHome. a new session.
exception:
  SessionException - if an error occurs.



pageIn
abstract protected PagedSession pageIn(String sessionKey) throws SessionException(Code)
Reads a paged session from disk.
Parameters:
  sessionKey - the key identifying the session that shouldbe paged in. the paged session that was read in. May be null ifthe session referenced by sessionKey doesn't exist.
exception:
  SessionException - if the paged session could not beread in.



pageOut
abstract protected void pageOut(PagedSession s) throws SessionException(Code)
Pages a session to disk.
Parameters:
  session - the session to page.
exception:
  SessionException - if the paged session could not bepaged out.



pagedSessionKeyExists
abstract protected boolean pagedSessionKeyExists(String sessionKey) throws SessionException(Code)
Returns true if the specified session key is in use by a session that has been paged out.
Parameters:
  sessionKey - the session key to test. true if the session key is in use by a paged session.
exception:
  SessionException - if an error occurs.



pagedSize
public int pagedSize() throws SessionException(Code)
Returns the current number of sessions that are paged to persistent store. the 'paged' session count.
exception:
  SessionException - if the size cannot be determined



passivateSession
public synchronized void passivateSession(Thread thread, String sessionKey) throws SessionException(Code)
Puts an 'active' session into the 'passive' state.
Parameters:
  thread - the thread associated with the session.
Parameters:
  sessionKey - the session key for the sessionthat will be made persistent.
exception:
  SessionException - if the session coulnd not be put into the passive state.



removeSession
public synchronized void removeSession(String sessionKey) throws SessionException(Code)
Removes the session associated with the session key.
Parameters:
  sessionKey - the session key for the sessionthat will be made 'active' and returned. the session.
exception:
  SessionException - if the session couldn't be removed.



shutdown
public synchronized void shutdown()(Code)
Shuts down the session home. Pages out all active sessions.



size
public int size() throws SessionException(Code)
Returns the current number of sessions. the session count.
exception:
  SessionException - if an error occurs.



Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.