billbarker 2002/08/29 22:41:42
Modified: src/share/org/apache/tomcat/modules/session
SimpleSessionStore.java
Log:
Switch the order between copy and Serialize.
Reloading is an expensive operation in any case. By doing serialize first, we
handle the case where the session value is e.g. a Hashtable or Vector which contains
(a Serializable) value loaded with the old Webapp Classloader.
Revision Changes Path
1.21 +5 -4
jakarta-tomcat/src/share/org/apache/tomcat/modules/session/SimpleSessionStore.java
Index: SimpleSessionStore.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/session/SimpleSessionStore.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- SimpleSessionStore.java 21 Aug 2002 04:11:56 -0000 1.20
+++ SimpleSessionStore.java 30 Aug 2002 05:41:42 -0000 1.21
@@ -147,14 +147,15 @@
while( e.hasMoreElements() ) {
String key = (String) e.nextElement();
Object value = session.getAttribute(key);
- if( value.getClass().getClassLoader() != oldCL ) {
- // it's loaded by the parent loader, no need to reload
- newSession.put( key, value );
- } else if ( value instanceof Serializable ) {
+ if ( value instanceof Serializable ) {
Object newValue =
ObjectSerializer.doSerialization( newCL,
value);
newSession.put( key, newValue );
+ }
+ else if( value.getClass().getClassLoader() != oldCL ) {
+ // it's loaded by the parent loader, no need to reload
+ newSession.put( key, value );
}
}
// If saving back to the same session.
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>