cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session FileStore.java JDBCStore.java ManagerBase.java PersistentManagerBase.java StandardSession.java

2003-02-11 Thread jfclere
jfclere 2003/02/11 03:54:12

  Modified:catalina/src/share/org/apache/catalina Manager.java
   catalina/src/share/org/apache/catalina/session
FileStore.java JDBCStore.java ManagerBase.java
PersistentManagerBase.java StandardSession.java
  Log:
  Correct problems related to the persistence of sessions:
  
  Revision  ChangesPath
  1.9   +10 -4 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Manager.java
  
  Index: Manager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Manager.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Manager.java  9 Dec 2002 15:05:55 -   1.8
  +++ Manager.java  11 Feb 2003 11:54:12 -  1.9
  @@ -175,6 +175,12 @@
*/
   public void add(Session session);
   
  +/**
  + * Get a session from the recycled ones or create a new empty one.
  + * The PersistentManager manager does not need to create session data
  + * because it reads it from the Store.
  + */ 
  +public Session createEmptySession();
   
   /**
* Add a property change listener to this component.
  
  
  
  1.11  +6 -5  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/FileStore.java
  
  Index: FileStore.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/FileStore.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- FileStore.java9 Dec 2002 15:05:55 -   1.10
  +++ FileStore.java11 Feb 2003 11:54:12 -  1.11
  @@ -333,7 +333,7 @@
   
   try {
   StandardSession session =
  -(StandardSession) manager.createSession();
  +(StandardSession) manager.createEmptySession();
   session.readObjectData(ois);
   session.setManager(manager);
   return (session);
  @@ -385,6 +385,7 @@
   public void save(Session session) throws IOException {
   
   // Open an output stream to the specified pathname, if any
  +System.out.println(save:  + session.getId());
   File file = file(session.getId());
   if (file == null) {
   return;
  
  
  
  1.9   +5 -5  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/JDBCStore.java
  
  Index: JDBCStore.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/JDBCStore.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- JDBCStore.java9 Dec 2002 15:05:55 -   1.8
  +++ JDBCStore.java11 Feb 2003 11:54:12 -  1.9
  @@ -538,7 +538,7 @@
   
   if(ois != null) {
   try {
  -_session = (StandardSession) manager.createSession();
  +_session = (StandardSession) manager.createEmptySession();
   _session.readObjectData(ois);
   _session.setManager(manager);
   } finally {
  
  
  
  1.19  +27 -16
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- ManagerBase.java  6 Feb 2003 23:01:41 -   1.18
  +++ ManagerBase.java  11 Feb 2003 11:54:12 -  1.19
  @@ -574,18 +574,7 @@
   public Session createSession() {
   
   // Recycle or create a Session instance
  -Session session = null;
  -synchronized (recycled) {
  -int size = recycled.size();
  -if (size  0) {
  -session = (Session) recycled.get(size - 1);
  -recycled.remove(size - 1);
  -}
  -}
  -if (session != null)
  -session.setManager(this);
  -else
  -session = new StandardSession(this);
  +Session session = createEmptySession();
   
   // Initialize the properties of the new session and return it
   session.setNew(true);
  @@ -615,6 +604,28 @@
   
   return (session);
   
  +}
  +
  +
  +/**
  + * Get a session from the recycled ones or create a new empty one.
  + * The PersistentManager manager does not need to create session data
  + * because it reads it from the Store.
  + */
  +public Session createEmptySession() {
  +Session session = 

cvs commit: jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session FileStore.java JDBCStore.java ManagerBase.java PersistentManagerBase.java

2002-11-30 Thread jfclere
jfclere 2002/11/30 04:43:14

  Modified:catalina/src/share/org/apache/catalina Manager.java
   catalina/src/share/org/apache/catalina/session
FileStore.java JDBCStore.java ManagerBase.java
PersistentManagerBase.java
  Log:
  Add createEmptySession to Manager to improve the PersistentManager logics.
  
  Revision  ChangesPath
  1.7   +10 -4 
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Manager.java
  
  Index: Manager.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/Manager.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Manager.java  19 Sep 2002 22:55:47 -  1.6
  +++ Manager.java  30 Nov 2002 12:43:14 -  1.7
  @@ -183,6 +183,12 @@
*/
   public void addPropertyChangeListener(PropertyChangeListener listener);
   
  +/**
  + * Get a session from the recycled ones or create a new empty one.
  + * The PersistentManager manager does not need to create session data
  + * because it reads it from the Store.
  + */ 
  +public Session createEmptySession();
   
   /**
* Construct and return a new session object, based on the default
  
  
  
  1.9   +5 -5  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/FileStore.java
  
  Index: FileStore.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/FileStore.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- FileStore.java19 Nov 2002 16:21:16 -  1.8
  +++ FileStore.java30 Nov 2002 12:43:14 -  1.9
  @@ -333,7 +333,7 @@
   
   try {
   StandardSession session =
  -(StandardSession) manager.createSession();
  +(StandardSession) manager.createEmptySession();
   session.readObjectData(ois);
   session.setManager(manager);
   return (session);
  
  
  
  1.7   +5 -5  
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/JDBCStore.java
  
  Index: JDBCStore.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/JDBCStore.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- JDBCStore.java20 Sep 2002 14:05:14 -  1.6
  +++ JDBCStore.java30 Nov 2002 12:43:14 -  1.7
  @@ -538,7 +538,7 @@
   
   if(ois != null) {
   try {
  -_session = (StandardSession) manager.createSession();
  +_session = (StandardSession) manager.createEmptySession();
   _session.readObjectData(ois);
   _session.setManager(manager);
   } finally {
  
  
  
  1.13  +27 -17
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java
  
  Index: ManagerBase.java
  ===
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/session/ManagerBase.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- ManagerBase.java  19 Sep 2002 22:55:48 -  1.12
  +++ ManagerBase.java  30 Nov 2002 12:43:14 -  1.13
  @@ -560,18 +560,7 @@
   public Session createSession() {
   
   // Recycle or create a Session instance
  -Session session = null;
  -synchronized (recycled) {
  -int size = recycled.size();
  -if (size  0) {
  -session = (Session) recycled.get(size - 1);
  -recycled.remove(size - 1);
  -}
  -}
  -if (session != null)
  -session.setManager(this);
  -else
  -session = new StandardSession(this);
  +Session session = createEmptySession();
   
   // Initialize the properties of the new session and return it
   session.setNew(true);
  @@ -583,7 +572,6 @@
   // @todo Move appending of jvmRoute generateSessionId()???
   if (jvmRoute != null) {
   sessionId += '.' + jvmRoute;
  -session.setId(sessionId);
   }
   /*
   synchronized (sessions) {
  @@ -595,6 +583,28 @@
   
   return (session);
   
  +}
  +
  +
  +/**
  + * Get a session from the recycled ones or create a new empty one.
  + * The PersistentManager manager does not need to create session data
  + * because it reads it from the Store.
  + */
  +public Session createEmptySession() {
  +Session