public class org.apache.catalina.session.StandardManager extends org.apache.catalina.session.ManagerBase
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.catalina.session.StandardManager
super_class: org.apache.catalina.session.ManagerBase
{
private final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected static final java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "StandardManager"
protected java.lang.String pathname;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.session.ManagerBase.<init>:()V
1: aload 0
ldc Lorg/apache/catalina/session/StandardManager;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
2: aload 0
aconst_null
putfield org.apache.catalina.session.StandardManager.pathname:Ljava/lang/String;
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/session/StandardManager;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "StandardManager"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/session/StandardManager;
public java.lang.String getPathname();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.session.StandardManager.pathname:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/session/StandardManager;
public void setPathname(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.session.StandardManager.pathname:Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 1
putfield org.apache.catalina.session.StandardManager.pathname:Ljava/lang/String;
2: aload 0
getfield org.apache.catalina.session.StandardManager.support:Ljava/beans/PropertyChangeSupport;
ldc "pathname"
aload 2
aload 0
getfield org.apache.catalina.session.StandardManager.pathname:Ljava/lang/String;
invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/session/StandardManager;
0 4 1 pathname Ljava/lang/String;
1 4 2 oldPathname Ljava/lang/String;
MethodParameters:
Name Flags
pathname
public void load();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: invokestatic org.apache.catalina.security.SecurityUtil.isPackageProtectionEnabled:()Z
ifeq 12
1: new org.apache.catalina.session.StandardManager$PrivilegedDoLoad
dup
aload 0
invokespecial org.apache.catalina.session.StandardManager$PrivilegedDoLoad.<init>:(Lorg/apache/catalina/session/StandardManager;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
2: goto 13
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
3: astore 1
start local 1 4: aload 1
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
astore 2
start local 2 5: aload 2
instanceof java.lang.ClassNotFoundException
ifeq 7
6: aload 2
checkcast java.lang.ClassNotFoundException
athrow
7: StackMap locals: java.security.PrivilegedActionException java.lang.Exception
StackMap stack:
aload 2
instanceof java.io.IOException
ifeq 9
8: aload 2
checkcast java.io.IOException
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 13
10: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
ldc "Unreported exception in load() "
aload 2
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 2 end local 1 11: goto 13
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.session.StandardManager.doLoad:()V
13: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/apache/catalina/session/StandardManager;
4 11 1 ex Ljava/security/PrivilegedActionException;
5 11 2 exception Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.security.PrivilegedActionException
Exceptions:
throws java.lang.ClassNotFoundException, java.io.IOException
protected void doLoad();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=19, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 2
1: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
ldc "Start: Loading persisted sessions"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.session.StandardManager.sessions:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
3: aload 0
invokevirtual org.apache.catalina.session.StandardManager.file:()Ljava/io/File;
astore 1
start local 1 4: aload 1
ifnonnull 6
5: return
6: StackMap locals: java.io.File
StackMap stack:
aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 8
7: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.session.StandardManager.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "standardManager.loading"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.catalina.session.StandardManager.pathname:Ljava/lang/String;
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 9: aconst_null
astore 3
start local 3 10: aconst_null
astore 4
start local 4 11: aconst_null
astore 5
aconst_null
astore 6
12: new java.io.FileInputStream
dup
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 7
start local 7 13: new java.io.BufferedInputStream
dup
aload 7
invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
astore 8
start local 8 14: aload 0
invokevirtual org.apache.catalina.session.StandardManager.getContext:()Lorg/apache/catalina/Context;
astore 9
start local 9 15: aload 9
invokeinterface org.apache.catalina.Context.getLoader:()Lorg/apache/catalina/Loader;
astore 2
16: aload 9
invokeinterface org.apache.catalina.Context.getLogger:()Lorg/apache/juli/logging/Log;
astore 4
17: aload 2
ifnull 19
18: aload 2
invokeinterface org.apache.catalina.Loader.getClassLoader:()Ljava/lang/ClassLoader;
astore 3
19: StackMap locals: org.apache.catalina.session.StandardManager java.io.File org.apache.catalina.Loader java.lang.ClassLoader org.apache.juli.logging.Log java.lang.Throwable java.lang.Throwable java.io.FileInputStream java.io.BufferedInputStream org.apache.catalina.Context
StackMap stack:
aload 3
ifnonnull 21
20: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
astore 3
21: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.session.StandardManager.sessions:Ljava/util/Map;
dup
astore 10
monitorenter
22: aconst_null
astore 11
aconst_null
astore 12
23: new org.apache.catalina.util.CustomObjectInputStream
dup
aload 8
aload 3
aload 4
24: aload 0
invokevirtual org.apache.catalina.session.StandardManager.getSessionAttributeValueClassNamePattern:()Ljava/util/regex/Pattern;
25: aload 0
invokevirtual org.apache.catalina.session.StandardManager.getWarnOnSessionAttributeFilterFailure:()Z
26: invokespecial org.apache.catalina.util.CustomObjectInputStream.<init>:(Ljava/io/InputStream;Ljava/lang/ClassLoader;Lorg/apache/juli/logging/Log;Ljava/util/regex/Pattern;Z)V
astore 13
start local 13 27: aload 13
invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 14
start local 14 28: aload 14
invokevirtual java.lang.Integer.intValue:()I
istore 15
start local 15 29: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 31
30: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Loading "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 15
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " persisted sessions"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
31: StackMap locals: org.apache.catalina.session.StandardManager java.io.File org.apache.catalina.Loader java.lang.ClassLoader org.apache.juli.logging.Log java.lang.Throwable java.lang.Throwable java.io.FileInputStream java.io.BufferedInputStream org.apache.catalina.Context java.util.Map java.lang.Throwable java.lang.Throwable java.io.ObjectInputStream java.lang.Integer int
StackMap stack:
iconst_0
istore 16
start local 16 32: goto 43
33: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.apache.catalina.session.StandardManager.getNewSession:()Lorg/apache/catalina/session/StandardSession;
astore 17
start local 17 34: aload 17
aload 13
invokevirtual org.apache.catalina.session.StandardSession.readObjectData:(Ljava/io/ObjectInputStream;)V
35: aload 17
aload 0
invokevirtual org.apache.catalina.session.StandardSession.setManager:(Lorg/apache/catalina/Manager;)V
36: aload 0
getfield org.apache.catalina.session.StandardManager.sessions:Ljava/util/Map;
aload 17
invokevirtual org.apache.catalina.session.StandardSession.getIdInternal:()Ljava/lang/String;
aload 17
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
37: aload 17
invokevirtual org.apache.catalina.session.StandardSession.activate:()V
38: aload 17
invokevirtual org.apache.catalina.session.StandardSession.isValidInternal:()Z
ifne 41
39: aload 17
iconst_1
invokevirtual org.apache.catalina.session.StandardSession.setValid:(Z)V
40: aload 17
invokevirtual org.apache.catalina.session.StandardSession.expire:()V
41: StackMap locals: org.apache.catalina.session.StandardSession
StackMap stack:
aload 0
dup
getfield org.apache.catalina.session.StandardManager.sessionCounter:J
lconst_1
ladd
putfield org.apache.catalina.session.StandardManager.sessionCounter:J
end local 17 42: iinc 16 1
StackMap locals:
StackMap stack:
43: iload 16
iload 15
if_icmplt 33
end local 16 end local 15 end local 14 44: aload 13
ifnull 55
aload 13
invokevirtual java.io.ObjectInputStream.close:()V
goto 55
StackMap locals: org.apache.catalina.session.StandardManager java.io.File org.apache.catalina.Loader java.lang.ClassLoader org.apache.juli.logging.Log java.lang.Throwable java.lang.Throwable java.io.FileInputStream java.io.BufferedInputStream org.apache.catalina.Context java.util.Map java.lang.Throwable java.lang.Throwable java.io.ObjectInputStream
StackMap stack: java.lang.Throwable
45: astore 11
aload 13
ifnull 46
aload 13
invokevirtual java.io.ObjectInputStream.close:()V
end local 13 StackMap locals:
StackMap stack:
46: aload 11
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
47: astore 12
aload 11
ifnonnull 48
aload 12
astore 11
goto 49
StackMap locals:
StackMap stack:
48: aload 11
aload 12
if_acmpeq 49
aload 11
aload 12
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
49: aload 11
athrow
StackMap locals: org.apache.catalina.session.StandardManager java.io.File org.apache.catalina.Loader java.lang.ClassLoader org.apache.juli.logging.Log java.lang.Throwable java.lang.Throwable java.io.FileInputStream java.io.BufferedInputStream org.apache.catalina.Context java.util.Map
StackMap stack: java.lang.Throwable
50: astore 18
51: aload 1
invokevirtual java.io.File.exists:()Z
ifeq 54
52: aload 1
invokevirtual java.io.File.delete:()Z
ifne 54
53: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.session.StandardManager.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "standardManager.deletePersistedFileFail"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
54: StackMap locals: org.apache.catalina.session.StandardManager java.io.File org.apache.catalina.Loader java.lang.ClassLoader org.apache.juli.logging.Log java.lang.Throwable java.lang.Throwable java.io.FileInputStream java.io.BufferedInputStream org.apache.catalina.Context java.util.Map top top top top top top top java.lang.Throwable
StackMap stack:
aload 18
athrow
55: StackMap locals: org.apache.catalina.session.StandardManager java.io.File org.apache.catalina.Loader java.lang.ClassLoader org.apache.juli.logging.Log java.lang.Throwable java.lang.Throwable java.io.FileInputStream java.io.BufferedInputStream org.apache.catalina.Context java.util.Map
StackMap stack:
aload 1
invokevirtual java.io.File.exists:()Z
ifeq 58
56: aload 1
invokevirtual java.io.File.delete:()Z
ifne 58
57: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.session.StandardManager.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "standardManager.deletePersistedFileFail"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;)V
58: StackMap locals:
StackMap stack:
aload 10
monitorexit
59: goto 62
StackMap locals:
StackMap stack: java.lang.Throwable
60: aload 10
monitorexit
61: athrow
end local 9 62: StackMap locals:
StackMap stack:
aload 8
ifnull 65
aload 8
invokevirtual java.io.BufferedInputStream.close:()V
goto 65
StackMap locals:
StackMap stack: java.lang.Throwable
63: astore 5
aload 8
ifnull 64
aload 8
invokevirtual java.io.BufferedInputStream.close:()V
end local 8 StackMap locals:
StackMap stack:
64: aload 5
athrow
StackMap locals:
StackMap stack:
65: aload 7
ifnull 77
aload 7
invokevirtual java.io.FileInputStream.close:()V
goto 77
StackMap locals:
StackMap stack: java.lang.Throwable
66: astore 6
aload 5
ifnonnull 67
aload 6
astore 5
goto 68
StackMap locals:
StackMap stack:
67: aload 5
aload 6
if_acmpeq 68
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
68: aload 7
ifnull 69
aload 7
invokevirtual java.io.FileInputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
69: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
70: astore 6
aload 5
ifnonnull 71
aload 6
astore 5
goto 72
StackMap locals:
StackMap stack:
71: aload 5
aload 6
if_acmpeq 72
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
72: aload 5
athrow
StackMap locals: org.apache.catalina.session.StandardManager java.io.File org.apache.catalina.Loader java.lang.ClassLoader org.apache.juli.logging.Log
StackMap stack: java.io.FileNotFoundException
73: pop
74: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 76
75: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
ldc "No persisted data file found"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
76: StackMap locals:
StackMap stack:
return
77: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 79
78: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
ldc "Finish: Loading persisted sessions"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
79: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 80 0 this Lorg/apache/catalina/session/StandardManager;
4 80 1 file Ljava/io/File;
9 80 2 loader Lorg/apache/catalina/Loader;
10 80 3 classLoader Ljava/lang/ClassLoader;
11 80 4 logger Lorg/apache/juli/logging/Log;
13 69 7 fis Ljava/io/FileInputStream;
14 64 8 bis Ljava/io/BufferedInputStream;
15 62 9 c Lorg/apache/catalina/Context;
27 46 13 ois Ljava/io/ObjectInputStream;
28 44 14 count Ljava/lang/Integer;
29 44 15 n I
32 44 16 i I
34 42 17 session Lorg/apache/catalina/session/StandardSession;
Exception table:
from to target type
27 44 45 any
23 47 47 any
22 50 50 any
22 59 60 any
60 61 60 any
14 62 63 any
13 65 66 any
12 70 70 any
11 73 73 Class java.io.FileNotFoundException
Exceptions:
throws java.lang.ClassNotFoundException, java.io.IOException
public void unload();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: invokestatic org.apache.catalina.security.SecurityUtil.isPackageProtectionEnabled:()Z
ifeq 10
1: new org.apache.catalina.session.StandardManager$PrivilegedDoUnload
dup
aload 0
invokespecial org.apache.catalina.session.StandardManager$PrivilegedDoUnload.<init>:(Lorg/apache/catalina/session/StandardManager;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
2: goto 11
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
3: astore 1
start local 1 4: aload 1
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
astore 2
start local 2 5: aload 2
instanceof java.io.IOException
ifeq 7
6: aload 2
checkcast java.io.IOException
athrow
7: StackMap locals: java.security.PrivilegedActionException java.lang.Exception
StackMap stack:
aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 11
8: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
ldc "Unreported exception in unLoad()"
aload 2
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 2 end local 1 9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.session.StandardManager.doUnload:()V
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/catalina/session/StandardManager;
4 9 1 ex Ljava/security/PrivilegedActionException;
5 9 2 exception Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.security.PrivilegedActionException
Exceptions:
throws java.io.IOException
protected void doUnload();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=12, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 2
1: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.session.StandardManager.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "standardManager.unloading.debug"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.session.StandardManager.sessions:Ljava/util/Map;
invokeinterface java.util.Map.isEmpty:()Z
ifeq 5
3: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.session.StandardManager.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "standardManager.unloading.nosessions"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
4: return
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.session.StandardManager.file:()Ljava/io/File;
astore 1
start local 1 6: aload 1
ifnonnull 8
7: return
8: StackMap locals: java.io.File
StackMap stack:
aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 10
9: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.session.StandardManager.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "standardManager.unloading"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.catalina.session.StandardManager.pathname:Ljava/lang/String;
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 11: aconst_null
astore 3
aconst_null
astore 4
12: new java.io.FileOutputStream
dup
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokespecial java.io.FileOutputStream.<init>:(Ljava/lang/String;)V
astore 5
start local 5 13: new java.io.BufferedOutputStream
dup
aload 5
invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 6
start local 6 14: new java.io.ObjectOutputStream
dup
aload 6
invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
astore 7
start local 7 15: aload 0
getfield org.apache.catalina.session.StandardManager.sessions:Ljava/util/Map;
dup
astore 8
monitorenter
16: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 18
17: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Unloading "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.apache.catalina.session.StandardManager.sessions:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " sessions"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
18: StackMap locals: org.apache.catalina.session.StandardManager java.io.File java.util.List java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.BufferedOutputStream java.io.ObjectOutputStream java.util.Map
StackMap stack:
aload 7
aload 0
getfield org.apache.catalina.session.StandardManager.sessions:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
19: aload 0
getfield org.apache.catalina.session.StandardManager.sessions:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 10
goto 25
StackMap locals: org.apache.catalina.session.StandardManager java.io.File java.util.List java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.BufferedOutputStream java.io.ObjectOutputStream java.util.Map top java.util.Iterator
StackMap stack:
20: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.catalina.Session
astore 9
start local 9 21: aload 9
checkcast org.apache.catalina.session.StandardSession
astore 11
start local 11 22: aload 2
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: aload 11
invokevirtual org.apache.catalina.session.StandardSession.passivate:()V
24: aload 11
aload 7
invokevirtual org.apache.catalina.session.StandardSession.writeObjectData:(Ljava/io/ObjectOutputStream;)V
end local 11 end local 9 25: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
26: aload 8
monitorexit
27: goto 30
StackMap locals: org.apache.catalina.session.StandardManager java.io.File java.util.List java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.io.BufferedOutputStream java.io.ObjectOutputStream java.util.Map
StackMap stack: java.lang.Throwable
28: aload 8
monitorexit
29: athrow
30: StackMap locals:
StackMap stack:
aload 7
ifnull 33
aload 7
invokevirtual java.io.ObjectOutputStream.close:()V
goto 33
StackMap locals:
StackMap stack: java.lang.Throwable
31: astore 3
aload 7
ifnull 32
aload 7
invokevirtual java.io.ObjectOutputStream.close:()V
end local 7 StackMap locals:
StackMap stack:
32: aload 3
athrow
StackMap locals:
StackMap stack:
33: aload 6
ifnull 38
aload 6
invokevirtual java.io.BufferedOutputStream.close:()V
goto 38
StackMap locals:
StackMap stack: java.lang.Throwable
34: astore 4
aload 3
ifnonnull 35
aload 4
astore 3
goto 36
StackMap locals:
StackMap stack:
35: aload 3
aload 4
if_acmpeq 36
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
36: aload 6
ifnull 37
aload 6
invokevirtual java.io.BufferedOutputStream.close:()V
end local 6 StackMap locals:
StackMap stack:
37: aload 3
athrow
StackMap locals:
StackMap stack:
38: aload 5
ifnull 46
aload 5
invokevirtual java.io.FileOutputStream.close:()V
goto 46
StackMap locals:
StackMap stack: java.lang.Throwable
39: astore 4
aload 3
ifnonnull 40
aload 4
astore 3
goto 41
StackMap locals:
StackMap stack:
40: aload 3
aload 4
if_acmpeq 41
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
41: aload 5
ifnull 42
aload 5
invokevirtual java.io.FileOutputStream.close:()V
end local 5 StackMap locals:
StackMap stack:
42: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
43: astore 4
aload 3
ifnonnull 44
aload 4
astore 3
goto 45
StackMap locals:
StackMap stack:
44: aload 3
aload 4
if_acmpeq 45
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
45: aload 3
athrow
46: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 48
47: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Expiring "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " persisted sessions"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
48: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 59
StackMap locals: org.apache.catalina.session.StandardManager java.io.File java.util.List top java.util.Iterator
StackMap stack:
49: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.catalina.session.StandardSession
astore 3
start local 3 50: aload 3
iconst_0
invokevirtual org.apache.catalina.session.StandardSession.expire:(Z)V
51: goto 58
StackMap locals: org.apache.catalina.session.StandardManager java.io.File java.util.List org.apache.catalina.session.StandardSession java.util.Iterator
StackMap stack: java.lang.Throwable
52: astore 5
start local 5 53: aload 5
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
end local 5 54: aload 3
invokevirtual org.apache.catalina.session.StandardSession.recycle:()V
goto 59
55: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
56: aload 3
invokevirtual org.apache.catalina.session.StandardSession.recycle:()V
57: aload 6
athrow
58: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.apache.catalina.session.StandardSession.recycle:()V
end local 3 59: StackMap locals: org.apache.catalina.session.StandardManager java.io.File java.util.List top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 49
60: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 62
61: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
ldc "Unloading complete"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
62: StackMap locals: org.apache.catalina.session.StandardManager java.io.File java.util.List
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 this Lorg/apache/catalina/session/StandardManager;
6 63 1 file Ljava/io/File;
11 63 2 list Ljava/util/List<Lorg/apache/catalina/session/StandardSession;>;
13 42 5 fos Ljava/io/FileOutputStream;
14 37 6 bos Ljava/io/BufferedOutputStream;
15 32 7 oos Ljava/io/ObjectOutputStream;
21 25 9 s Lorg/apache/catalina/Session;
22 25 11 session Lorg/apache/catalina/session/StandardSession;
50 59 3 session Lorg/apache/catalina/session/StandardSession;
53 54 5 t Ljava/lang/Throwable;
Exception table:
from to target type
16 27 28 any
28 29 28 any
15 30 31 any
14 33 34 any
13 38 39 any
12 43 43 any
50 51 52 Class java.lang.Throwable
50 54 55 any
Exceptions:
throws java.io.IOException
protected synchronized void startInternal();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.session.ManagerBase.startInternal:()V
1: aload 0
invokevirtual org.apache.catalina.session.StandardManager.load:()V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 1
start local 1 4: aload 1
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
5: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.session.StandardManager.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "standardManager.managerLoad"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 1
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 1 6: StackMap locals:
StackMap stack:
aload 0
getstatic org.apache.catalina.LifecycleState.STARTING:Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.session.StandardManager.setState:(Lorg/apache/catalina/LifecycleState;)V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/session/StandardManager;
4 6 1 t Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.Throwable
Exceptions:
throws org.apache.catalina.LifecycleException
protected synchronized void stopInternal();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=3, locals=8, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 2
1: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
ldc "Stopping"
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getstatic org.apache.catalina.LifecycleState.STOPPING:Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.session.StandardManager.setState:(Lorg/apache/catalina/LifecycleState;)V
3: aload 0
invokevirtual org.apache.catalina.session.StandardManager.unload:()V
4: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
5: astore 1
start local 1 6: aload 1
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
7: aload 0
getfield org.apache.catalina.session.StandardManager.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.session.StandardManager.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "standardManager.managerUnload"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 1
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 1 8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.session.StandardManager.findSessions:()[Lorg/apache/catalina/Session;
astore 1
start local 1 9: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 22
StackMap locals: org.apache.catalina.session.StandardManager org.apache.catalina.Session[] top int int org.apache.catalina.Session[]
StackMap stack:
10: aload 5
iload 3
aaload
astore 2
start local 2 11: aload 2
invokeinterface org.apache.catalina.Session.isValid:()Z
ifeq 20
12: aload 2
invokeinterface org.apache.catalina.Session.expire:()V
13: goto 20
StackMap locals: org.apache.catalina.session.StandardManager org.apache.catalina.Session[] org.apache.catalina.Session int int org.apache.catalina.Session[]
StackMap stack: java.lang.Throwable
14: astore 6
start local 6 15: aload 6
invokestatic org.apache.tomcat.util.ExceptionUtils.handleThrowable:(Ljava/lang/Throwable;)V
end local 6 16: aload 2
invokeinterface org.apache.catalina.Session.recycle:()V
goto 21
17: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
18: aload 2
invokeinterface org.apache.catalina.Session.recycle:()V
19: aload 7
athrow
20: StackMap locals:
StackMap stack:
aload 2
invokeinterface org.apache.catalina.Session.recycle:()V
end local 2 21: StackMap locals: org.apache.catalina.session.StandardManager org.apache.catalina.Session[] top int int org.apache.catalina.Session[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
22: iload 3
iload 4
if_icmplt 10
23: aload 0
invokespecial org.apache.catalina.session.ManagerBase.stopInternal:()V
24: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/apache/catalina/session/StandardManager;
6 8 1 t Ljava/lang/Throwable;
9 25 1 sessions [Lorg/apache/catalina/Session;
11 21 2 session Lorg/apache/catalina/Session;
15 16 6 t Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
11 13 14 Class java.lang.Throwable
11 16 17 any
Exceptions:
throws org.apache.catalina.LifecycleException
protected java.io.File file();
descriptor: ()Ljava/io/File;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.session.StandardManager.pathname:Ljava/lang/String;
ifnull 1
aload 0
getfield org.apache.catalina.session.StandardManager.pathname:Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ifne 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
new java.io.File
dup
aload 0
getfield org.apache.catalina.session.StandardManager.pathname:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1
start local 1 3: aload 1
invokevirtual java.io.File.isAbsolute:()Z
ifne 9
4: aload 0
invokevirtual org.apache.catalina.session.StandardManager.getContext:()Lorg/apache/catalina/Context;
astore 2
start local 2 5: aload 2
invokeinterface org.apache.catalina.Context.getServletContext:()Ljakarta/servlet/ServletContext;
astore 3
start local 3 6: aload 3
ldc "jakarta.servlet.context.tempdir"
invokeinterface jakarta.servlet.ServletContext.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast java.io.File
astore 4
start local 4 7: aload 4
ifnull 9
8: new java.io.File
dup
aload 4
aload 0
getfield org.apache.catalina.session.StandardManager.pathname:Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 1
end local 4 end local 3 end local 2 9: StackMap locals: java.io.File
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/catalina/session/StandardManager;
3 10 1 file Ljava/io/File;
5 9 2 context Lorg/apache/catalina/Context;
6 9 3 servletContext Ljakarta/servlet/ServletContext;
7 9 4 tempdir Ljava/io/File;
}
SourceFile: "StandardManager.java"
NestMembers:
org.apache.catalina.session.StandardManager$PrivilegedDoLoad org.apache.catalina.session.StandardManager$PrivilegedDoUnload
InnerClasses:
private PrivilegedDoLoad = org.apache.catalina.session.StandardManager$PrivilegedDoLoad of org.apache.catalina.session.StandardManager
private PrivilegedDoUnload = org.apache.catalina.session.StandardManager$PrivilegedDoUnload of org.apache.catalina.session.StandardManager