public abstract class org.apache.catalina.core.ContainerBase extends org.apache.catalina.util.LifecycleMBeanBase implements org.apache.catalina.Container
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.catalina.core.ContainerBase
super_class: org.apache.catalina.util.LifecycleMBeanBase
{
private static final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
protected final java.util.HashMap<java.lang.String, org.apache.catalina.Container> children;
descriptor: Ljava/util/HashMap;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/apache/catalina/Container;>;
protected int backgroundProcessorDelay;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected java.util.concurrent.ScheduledFuture<?> backgroundProcessorFuture;
descriptor: Ljava/util/concurrent/ScheduledFuture;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/concurrent/ScheduledFuture<*>;
protected java.util.concurrent.ScheduledFuture<?> monitorFuture;
descriptor: Ljava/util/concurrent/ScheduledFuture;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/concurrent/ScheduledFuture<*>;
protected final java.util.List<org.apache.catalina.ContainerListener> listeners;
descriptor: Ljava/util/List;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Ljava/util/List<Lorg/apache/catalina/ContainerListener;>;
protected org.apache.juli.logging.Log logger;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x0004) ACC_PROTECTED
protected java.lang.String logName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected org.apache.catalina.Cluster cluster;
descriptor: Lorg/apache/catalina/Cluster;
flags: (0x0004) ACC_PROTECTED
private final java.util.concurrent.locks.ReadWriteLock clusterLock;
descriptor: Ljava/util/concurrent/locks/ReadWriteLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected java.lang.String name;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected org.apache.catalina.Container parent;
descriptor: Lorg/apache/catalina/Container;
flags: (0x0004) ACC_PROTECTED
protected java.lang.ClassLoader parentClassLoader;
descriptor: Ljava/lang/ClassLoader;
flags: (0x0004) ACC_PROTECTED
protected final org.apache.catalina.Pipeline pipeline;
descriptor: Lorg/apache/catalina/Pipeline;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private volatile org.apache.catalina.Realm realm;
descriptor: Lorg/apache/catalina/Realm;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.concurrent.locks.ReadWriteLock realmLock;
descriptor: Ljava/util/concurrent/locks/ReadWriteLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected static final org.apache.tomcat.util.res.StringManager sm;
descriptor: Lorg/apache/tomcat/util/res/StringManager;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected boolean startChildren;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected final java.beans.PropertyChangeSupport support;
descriptor: Ljava/beans/PropertyChangeSupport;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected volatile org.apache.catalina.AccessLog accessLog;
descriptor: Lorg/apache/catalina/AccessLog;
flags: (0x0044) ACC_PROTECTED, ACC_VOLATILE
private volatile boolean accessLogScanComplete;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private int startStopThreads;
descriptor: I
flags: (0x0002) ACC_PRIVATE
protected java.util.concurrent.ExecutorService startStopExecutor;
descriptor: Ljava/util/concurrent/ExecutorService;
flags: (0x0004) ACC_PROTECTED
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/catalina/core/ContainerBase;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
1: ldc "org.apache.catalina.core"
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/String;)Lorg/apache/tomcat/util/res/StringManager;
2: putstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.catalina.util.LifecycleMBeanBase.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.apache.catalina.core.ContainerBase.children:Ljava/util/HashMap;
2: aload 0
iconst_m1
putfield org.apache.catalina.core.ContainerBase.backgroundProcessorDelay:I
3: aload 0
new java.util.concurrent.CopyOnWriteArrayList
dup
invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
putfield org.apache.catalina.core.ContainerBase.listeners:Ljava/util/List;
4: aload 0
aconst_null
putfield org.apache.catalina.core.ContainerBase.logger:Lorg/apache/juli/logging/Log;
5: aload 0
aconst_null
putfield org.apache.catalina.core.ContainerBase.logName:Ljava/lang/String;
6: aload 0
aconst_null
putfield org.apache.catalina.core.ContainerBase.cluster:Lorg/apache/catalina/Cluster;
7: aload 0
new java.util.concurrent.locks.ReentrantReadWriteLock
dup
invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
putfield org.apache.catalina.core.ContainerBase.clusterLock:Ljava/util/concurrent/locks/ReadWriteLock;
8: aload 0
aconst_null
putfield org.apache.catalina.core.ContainerBase.name:Ljava/lang/String;
9: aload 0
aconst_null
putfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
10: aload 0
aconst_null
putfield org.apache.catalina.core.ContainerBase.parentClassLoader:Ljava/lang/ClassLoader;
11: aload 0
new org.apache.catalina.core.StandardPipeline
dup
aload 0
invokespecial org.apache.catalina.core.StandardPipeline.<init>:(Lorg/apache/catalina/Container;)V
putfield org.apache.catalina.core.ContainerBase.pipeline:Lorg/apache/catalina/Pipeline;
12: aload 0
aconst_null
putfield org.apache.catalina.core.ContainerBase.realm:Lorg/apache/catalina/Realm;
13: aload 0
new java.util.concurrent.locks.ReentrantReadWriteLock
dup
invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
putfield org.apache.catalina.core.ContainerBase.realmLock:Ljava/util/concurrent/locks/ReadWriteLock;
14: aload 0
iconst_1
putfield org.apache.catalina.core.ContainerBase.startChildren:Z
15: aload 0
16: new java.beans.PropertyChangeSupport
dup
aload 0
invokespecial java.beans.PropertyChangeSupport.<init>:(Ljava/lang/Object;)V
putfield org.apache.catalina.core.ContainerBase.support:Ljava/beans/PropertyChangeSupport;
17: aload 0
aconst_null
putfield org.apache.catalina.core.ContainerBase.accessLog:Lorg/apache/catalina/AccessLog;
18: aload 0
iconst_0
putfield org.apache.catalina.core.ContainerBase.accessLogScanComplete:Z
19: aload 0
iconst_1
putfield org.apache.catalina.core.ContainerBase.startStopThreads:I
20: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/apache/catalina/core/ContainerBase;
public int getStartStopThreads();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.startStopThreads:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/core/ContainerBase;
public void setStartStopThreads(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.core.ContainerBase.startStopThreads:I
istore 2
start local 2 1: aload 0
iload 1
putfield org.apache.catalina.core.ContainerBase.startStopThreads:I
2: iload 2
iload 1
if_icmpeq 4
aload 0
getfield org.apache.catalina.core.ContainerBase.startStopExecutor:Ljava/util/concurrent/ExecutorService;
ifnull 4
3: aload 0
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getStartStopThreads:()I
invokevirtual org.apache.catalina.core.ContainerBase.reconfigureStartStopExecutor:(I)V
4: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/core/ContainerBase;
0 5 1 startStopThreads I
1 5 2 oldStartStopThreads I
MethodParameters:
Name Flags
startStopThreads
public int getBackgroundProcessorDelay();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.backgroundProcessorDelay:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/core/ContainerBase;
public void setBackgroundProcessorDelay(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.apache.catalina.core.ContainerBase.backgroundProcessorDelay:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/core/ContainerBase;
0 2 1 delay I
MethodParameters:
Name Flags
delay
public org.apache.juli.logging.Log getLogger();
descriptor: ()Lorg/apache/juli/logging/Log;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.logger:Lorg/apache/juli/logging/Log;
ifnull 2
1: aload 0
getfield org.apache.catalina.core.ContainerBase.logger:Lorg/apache/juli/logging/Log;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getLogName:()Ljava/lang/String;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/String;)Lorg/apache/juli/logging/Log;
putfield org.apache.catalina.core.ContainerBase.logger:Lorg/apache/juli/logging/Log;
3: aload 0
getfield org.apache.catalina.core.ContainerBase.logger:Lorg/apache/juli/logging/Log;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/core/ContainerBase;
public java.lang.String getLogName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.logName:Ljava/lang/String;
ifnull 2
1: aload 0
getfield org.apache.catalina.core.ContainerBase.logName:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 3: aload 0
astore 2
start local 2 4: goto 17
5: StackMap locals: java.lang.String org.apache.catalina.Container
StackMap stack:
aload 2
invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
astore 3
start local 3 6: aload 3
ifnull 7
aload 3
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
7: StackMap locals: java.lang.String
StackMap stack:
ldc "/"
astore 3
8: goto 11
StackMap locals:
StackMap stack:
9: aload 3
ldc "##"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
10: new java.lang.StringBuilder
dup
ldc "/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
11: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: aload 1
ifnull 13
new java.lang.StringBuilder
dup
ldc "."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 14
StackMap locals:
StackMap stack: java.lang.StringBuilder
13: ldc ""
StackMap locals: org.apache.catalina.core.ContainerBase java.lang.String org.apache.catalina.Container java.lang.String
StackMap stack: java.lang.StringBuilder java.lang.String
14: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
15: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
16: aload 2
invokeinterface org.apache.catalina.Container.getParent:()Lorg/apache/catalina/Container;
astore 2
end local 3 17: StackMap locals:
StackMap stack:
aload 2
ifnonnull 5
18: aload 0
new java.lang.StringBuilder
dup
ldc Lorg/apache/catalina/core/ContainerBase;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putfield org.apache.catalina.core.ContainerBase.logName:Ljava/lang/String;
19: aload 0
getfield org.apache.catalina.core.ContainerBase.logName:Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/catalina/core/ContainerBase;
3 20 1 loggerName Ljava/lang/String;
4 20 2 current Lorg/apache/catalina/Container;
6 17 3 name Ljava/lang/String;
public org.apache.catalina.Cluster getCluster();
descriptor: ()Lorg/apache/catalina/Cluster;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.clusterLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
astore 1
start local 1 1: aload 1
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
getfield org.apache.catalina.core.ContainerBase.cluster:Lorg/apache/catalina/Cluster;
ifnull 6
3: aload 0
getfield org.apache.catalina.core.ContainerBase.cluster:Lorg/apache/catalina/Cluster;
astore 3
4: aload 1
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
5: aload 3
areturn
6: StackMap locals: java.util.concurrent.locks.Lock
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
ifnull 10
7: aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getCluster:()Lorg/apache/catalina/Cluster;
astore 3
8: aload 1
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: aload 3
areturn
10: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
11: aconst_null
areturn
12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
13: aload 1
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
14: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/catalina/core/ContainerBase;
1 15 1 readLock Ljava/util/concurrent/locks/Lock;
Exception table:
from to target type
2 4 12 any
6 8 12 any
protected org.apache.catalina.Cluster getClusterInternal();
descriptor: ()Lorg/apache/catalina/Cluster;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=4, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.clusterLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
astore 1
start local 1 1: aload 1
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
getfield org.apache.catalina.core.ContainerBase.cluster:Lorg/apache/catalina/Cluster;
astore 3
3: aload 1
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
4: aload 3
areturn
5: StackMap locals: org.apache.catalina.core.ContainerBase java.util.concurrent.locks.Lock
StackMap stack: java.lang.Throwable
astore 2
6: aload 1
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
7: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/core/ContainerBase;
1 8 1 readLock Ljava/util/concurrent/locks/Lock;
Exception table:
from to target type
2 3 5 any
public void setCluster(org.apache.catalina.Cluster);
descriptor: (Lorg/apache/catalina/Cluster;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield org.apache.catalina.core.ContainerBase.clusterLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
astore 3
start local 3 2: aload 3
invokeinterface java.util.concurrent.locks.Lock.lock:()V
3: aload 0
getfield org.apache.catalina.core.ContainerBase.cluster:Lorg/apache/catalina/Cluster;
astore 2
4: aload 2
aload 1
if_acmpne 7
5: aload 3
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
6: return
7: StackMap locals: org.apache.catalina.Cluster java.util.concurrent.locks.Lock
StackMap stack:
aload 0
aload 1
putfield org.apache.catalina.core.ContainerBase.cluster:Lorg/apache/catalina/Cluster;
8: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getState:()Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
ifeq 14
aload 2
ifnull 14
9: aload 2
instanceof org.apache.catalina.Lifecycle
ifeq 14
10: aload 2
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.stop:()V
11: goto 14
StackMap locals:
StackMap stack: org.apache.catalina.LifecycleException
12: astore 4
start local 4 13: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.cluster.stop"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 4
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 4 14: StackMap locals:
StackMap stack:
aload 1
ifnull 16
15: aload 1
aload 0
invokeinterface org.apache.catalina.Cluster.setContainer:(Lorg/apache/catalina/Container;)V
16: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getState:()Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
ifeq 26
aload 1
ifnull 26
17: aload 1
instanceof org.apache.catalina.Lifecycle
ifeq 26
18: aload 1
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.start:()V
19: goto 26
StackMap locals:
StackMap stack: org.apache.catalina.LifecycleException
20: astore 4
start local 4 21: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.cluster.start"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 4
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 4 22: goto 26
StackMap locals:
StackMap stack: java.lang.Throwable
23: astore 5
24: aload 3
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
25: aload 5
athrow
26: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
27: aload 0
getfield org.apache.catalina.core.ContainerBase.support:Ljava/beans/PropertyChangeSupport;
ldc "cluster"
aload 2
aload 1
invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
28: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/apache/catalina/core/ContainerBase;
0 29 1 cluster Lorg/apache/catalina/Cluster;
1 29 2 oldCluster Lorg/apache/catalina/Cluster;
2 29 3 writeLock Ljava/util/concurrent/locks/Lock;
13 14 4 e Lorg/apache/catalina/LifecycleException;
21 22 4 e Lorg/apache/catalina/LifecycleException;
Exception table:
from to target type
10 11 12 Class org.apache.catalina.LifecycleException
18 19 20 Class org.apache.catalina.LifecycleException
3 5 23 any
7 23 23 any
MethodParameters:
Name Flags
cluster
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: aload 0
getfield org.apache.catalina.core.ContainerBase.name:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/core/ContainerBase;
public void setName(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 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.nullName"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.name:Ljava/lang/String;
astore 2
start local 2 3: aload 0
aload 1
putfield org.apache.catalina.core.ContainerBase.name:Ljava/lang/String;
4: aload 0
getfield org.apache.catalina.core.ContainerBase.support:Ljava/beans/PropertyChangeSupport;
ldc "name"
aload 2
aload 0
getfield org.apache.catalina.core.ContainerBase.name:Ljava/lang/String;
invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/core/ContainerBase;
0 6 1 name Ljava/lang/String;
3 6 2 oldName Ljava/lang/String;
MethodParameters:
Name Flags
name
public boolean getStartChildren();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.startChildren:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/core/ContainerBase;
public void setStartChildren(boolean);
descriptor: (Z)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.core.ContainerBase.startChildren:Z
istore 2
start local 2 1: aload 0
iload 1
putfield org.apache.catalina.core.ContainerBase.startChildren:Z
2: aload 0
getfield org.apache.catalina.core.ContainerBase.support:Ljava/beans/PropertyChangeSupport;
ldc "startChildren"
iload 2
aload 0
getfield org.apache.catalina.core.ContainerBase.startChildren:Z
invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;ZZ)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/core/ContainerBase;
0 4 1 startChildren Z
1 4 2 oldStartChildren Z
MethodParameters:
Name Flags
startChildren
public org.apache.catalina.Container getParent();
descriptor: ()Lorg/apache/catalina/Container;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/core/ContainerBase;
public void setParent(org.apache.catalina.Container);
descriptor: (Lorg/apache/catalina/Container;)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.core.ContainerBase.parent:Lorg/apache/catalina/Container;
astore 2
start local 2 1: aload 0
aload 1
putfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
2: aload 0
getfield org.apache.catalina.core.ContainerBase.support:Ljava/beans/PropertyChangeSupport;
ldc "parent"
aload 2
aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
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/core/ContainerBase;
0 4 1 container Lorg/apache/catalina/Container;
1 4 2 oldParent Lorg/apache/catalina/Container;
MethodParameters:
Name Flags
container
public java.lang.ClassLoader getParentClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.parentClassLoader:Ljava/lang/ClassLoader;
ifnull 2
1: aload 0
getfield org.apache.catalina.core.ContainerBase.parentClassLoader:Ljava/lang/ClassLoader;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
ifnull 4
3: aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getParentClassLoader:()Ljava/lang/ClassLoader;
areturn
4: StackMap locals:
StackMap stack:
invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/catalina/core/ContainerBase;
public void setParentClassLoader(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)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.core.ContainerBase.parentClassLoader:Ljava/lang/ClassLoader;
astore 2
start local 2 1: aload 0
aload 1
putfield org.apache.catalina.core.ContainerBase.parentClassLoader:Ljava/lang/ClassLoader;
2: aload 0
getfield org.apache.catalina.core.ContainerBase.support:Ljava/beans/PropertyChangeSupport;
ldc "parentClassLoader"
aload 2
3: aload 0
getfield org.apache.catalina.core.ContainerBase.parentClassLoader:Ljava/lang/ClassLoader;
4: invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/core/ContainerBase;
0 6 1 parent Ljava/lang/ClassLoader;
1 6 2 oldParentClassLoader Ljava/lang/ClassLoader;
MethodParameters:
Name Flags
parent
public org.apache.catalina.Pipeline getPipeline();
descriptor: ()Lorg/apache/catalina/Pipeline;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.pipeline:Lorg/apache/catalina/Pipeline;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/catalina/core/ContainerBase;
public org.apache.catalina.Realm getRealm();
descriptor: ()Lorg/apache/catalina/Realm;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.realmLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
astore 1
start local 1 1: aload 1
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
getfield org.apache.catalina.core.ContainerBase.realm:Lorg/apache/catalina/Realm;
ifnull 6
3: aload 0
getfield org.apache.catalina.core.ContainerBase.realm:Lorg/apache/catalina/Realm;
astore 3
4: aload 1
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
5: aload 3
areturn
6: StackMap locals: java.util.concurrent.locks.Lock
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
ifnull 10
7: aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getRealm:()Lorg/apache/catalina/Realm;
astore 3
8: aload 1
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
9: aload 3
areturn
10: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
11: aconst_null
areturn
12: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
13: aload 1
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
14: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/catalina/core/ContainerBase;
1 15 1 l Ljava/util/concurrent/locks/Lock;
Exception table:
from to target type
2 4 12 any
6 8 12 any
protected org.apache.catalina.Realm getRealmInternal();
descriptor: ()Lorg/apache/catalina/Realm;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=4, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.realmLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.readLock:()Ljava/util/concurrent/locks/Lock;
astore 1
start local 1 1: aload 1
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
getfield org.apache.catalina.core.ContainerBase.realm:Lorg/apache/catalina/Realm;
astore 3
3: aload 1
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
4: aload 3
areturn
5: StackMap locals: org.apache.catalina.core.ContainerBase java.util.concurrent.locks.Lock
StackMap stack: java.lang.Throwable
astore 2
6: aload 1
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
7: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/core/ContainerBase;
1 8 1 l Ljava/util/concurrent/locks/Lock;
Exception table:
from to target type
2 3 5 any
public void setRealm(org.apache.catalina.Realm);
descriptor: (Lorg/apache/catalina/Realm;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.core.ContainerBase.realmLock:Ljava/util/concurrent/locks/ReadWriteLock;
invokeinterface java.util.concurrent.locks.ReadWriteLock.writeLock:()Ljava/util/concurrent/locks/Lock;
astore 2
start local 2 1: aload 2
invokeinterface java.util.concurrent.locks.Lock.lock:()V
2: aload 0
getfield org.apache.catalina.core.ContainerBase.realm:Lorg/apache/catalina/Realm;
astore 3
start local 3 3: aload 3
aload 1
if_acmpne 6
4: aload 2
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
5: return
6: StackMap locals: java.util.concurrent.locks.Lock org.apache.catalina.Realm
StackMap stack:
aload 0
aload 1
putfield org.apache.catalina.core.ContainerBase.realm:Lorg/apache/catalina/Realm;
7: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getState:()Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
ifeq 13
aload 3
ifnull 13
8: aload 3
instanceof org.apache.catalina.Lifecycle
ifeq 13
9: aload 3
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.stop:()V
10: goto 13
StackMap locals:
StackMap stack: org.apache.catalina.LifecycleException
11: astore 4
start local 4 12: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.realm.stop"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 4
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 4 13: StackMap locals:
StackMap stack:
aload 1
ifnull 15
14: aload 1
aload 0
invokeinterface org.apache.catalina.Realm.setContainer:(Lorg/apache/catalina/Container;)V
15: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getState:()Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
ifeq 21
aload 1
ifnull 21
16: aload 1
instanceof org.apache.catalina.Lifecycle
ifeq 21
17: aload 1
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.start:()V
18: goto 21
StackMap locals:
StackMap stack: org.apache.catalina.LifecycleException
19: astore 4
start local 4 20: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.realm.start"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 4
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 4 21: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.support:Ljava/beans/PropertyChangeSupport;
ldc "realm"
aload 3
aload 0
getfield org.apache.catalina.core.ContainerBase.realm:Lorg/apache/catalina/Realm;
invokevirtual java.beans.PropertyChangeSupport.firePropertyChange:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 3 22: goto 26
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Realm java.util.concurrent.locks.Lock
StackMap stack: java.lang.Throwable
23: astore 5
24: aload 2
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
25: aload 5
athrow
26: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.concurrent.locks.Lock.unlock:()V
27: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/apache/catalina/core/ContainerBase;
0 28 1 realm Lorg/apache/catalina/Realm;
1 28 2 l Ljava/util/concurrent/locks/Lock;
3 22 3 oldRealm Lorg/apache/catalina/Realm;
12 13 4 e Lorg/apache/catalina/LifecycleException;
20 21 4 e Lorg/apache/catalina/LifecycleException;
Exception table:
from to target type
9 10 11 Class org.apache.catalina.LifecycleException
17 18 19 Class org.apache.catalina.LifecycleException
2 4 23 any
6 23 23 any
MethodParameters:
Name Flags
realm
public void addChild(org.apache.catalina.Container);
descriptor: (Lorg/apache/catalina/Container;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.apache.catalina.Globals.IS_SECURITY_ENABLED:Z
ifeq 5
1: new org.apache.catalina.core.ContainerBase$PrivilegedAddChild
dup
aload 0
aload 1
invokespecial org.apache.catalina.core.ContainerBase$PrivilegedAddChild.<init>:(Lorg/apache/catalina/core/ContainerBase;Lorg/apache/catalina/Container;)V
2: astore 2
start local 2 3: aload 2
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
end local 2 4: goto 6
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.apache.catalina.core.ContainerBase.addChildInternal:(Lorg/apache/catalina/Container;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/catalina/core/ContainerBase;
0 7 1 child Lorg/apache/catalina/Container;
3 4 2 dp Ljava/security/PrivilegedAction<Ljava/lang/Void;>;
MethodParameters:
Name Flags
child
private void addChildInternal(org.apache.catalina.Container);
descriptor: (Lorg/apache/catalina/Container;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
invokeinterface org.apache.juli.logging.Log.isDebugEnabled:()Z
ifeq 2
1: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
new java.lang.StringBuilder
dup
ldc "Add child "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()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.core.ContainerBase.children:Ljava/util/HashMap;
dup
astore 2
monitorenter
3: aload 0
getfield org.apache.catalina.core.ContainerBase.children:Ljava/util/HashMap;
aload 1
invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 7
4: new java.lang.IllegalArgumentException
dup
5: getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.child.notUnique"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
6: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals: java.util.HashMap
StackMap stack:
aload 1
aload 0
invokeinterface org.apache.catalina.Container.setParent:(Lorg/apache/catalina/Container;)V
8: aload 0
getfield org.apache.catalina.core.ContainerBase.children:Ljava/util/HashMap;
aload 1
invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
aload 1
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 2
monitorexit
10: goto 13
StackMap locals:
StackMap stack: java.lang.Throwable
11: aload 2
monitorexit
12: athrow
13: StackMap locals:
StackMap stack:
aload 0
ldc "addChild"
aload 1
invokevirtual org.apache.catalina.core.ContainerBase.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
14: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getState:()Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
ifne 16
15: getstatic org.apache.catalina.LifecycleState.STARTING_PREP:Lorg/apache/catalina/LifecycleState;
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getState:()Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.LifecycleState.equals:(Ljava/lang/Object;)Z
ifeq 21
16: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.startChildren:Z
ifeq 21
17: aload 1
invokeinterface org.apache.catalina.Container.start:()V
18: goto 21
StackMap locals:
StackMap stack: org.apache.catalina.LifecycleException
19: astore 2
start local 2 20: new java.lang.IllegalStateException
dup
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.child.start"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 2
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 21: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/apache/catalina/core/ContainerBase;
0 22 1 child Lorg/apache/catalina/Container;
20 21 2 e Lorg/apache/catalina/LifecycleException;
Exception table:
from to target type
3 10 11 any
11 12 11 any
14 18 19 Class org.apache.catalina.LifecycleException
MethodParameters:
Name Flags
child
public void addContainerListener(org.apache.catalina.ContainerListener);
descriptor: (Lorg/apache/catalina/ContainerListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.core.ContainerBase.listeners:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/core/ContainerBase;
0 2 1 listener Lorg/apache/catalina/ContainerListener;
MethodParameters:
Name Flags
listener
public void addPropertyChangeListener(java.beans.PropertyChangeListener);
descriptor: (Ljava/beans/PropertyChangeListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.core.ContainerBase.support:Ljava/beans/PropertyChangeSupport;
aload 1
invokevirtual java.beans.PropertyChangeSupport.addPropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/core/ContainerBase;
0 2 1 listener Ljava/beans/PropertyChangeListener;
MethodParameters:
Name Flags
listener
public org.apache.catalina.Container findChild(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/apache/catalina/Container;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.children:Ljava/util/HashMap;
dup
astore 2
monitorenter
3: aload 0
getfield org.apache.catalina.core.ContainerBase.children:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.catalina.Container
aload 2
monitorexit
4: areturn
5: StackMap locals: org.apache.catalina.core.ContainerBase java.lang.String java.util.HashMap
StackMap stack: java.lang.Throwable
aload 2
monitorexit
6: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/catalina/core/ContainerBase;
0 7 1 name Ljava/lang/String;
Exception table:
from to target type
3 4 5 any
5 6 5 any
MethodParameters:
Name Flags
name
public org.apache.catalina.Container[] findChildren();
descriptor: ()[Lorg/apache/catalina/Container;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.children:Ljava/util/HashMap;
dup
astore 1
monitorenter
1: aload 0
getfield org.apache.catalina.core.ContainerBase.children:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
anewarray org.apache.catalina.Container
astore 2
start local 2 2: aload 0
getfield org.apache.catalina.core.ContainerBase.children:Ljava/util/HashMap;
invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
aload 2
invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.apache.catalina.Container[]
aload 1
monitorexit
3: areturn
end local 2 4: StackMap locals: org.apache.catalina.core.ContainerBase java.util.HashMap
StackMap stack: java.lang.Throwable
aload 1
monitorexit
5: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/catalina/core/ContainerBase;
2 4 2 results [Lorg/apache/catalina/Container;
Exception table:
from to target type
1 3 4 any
4 5 4 any
public org.apache.catalina.ContainerListener[] findContainerListeners();
descriptor: ()[Lorg/apache/catalina/ContainerListener;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
anewarray org.apache.catalina.ContainerListener
1: astore 1
start local 1 2: aload 0
getfield org.apache.catalina.core.ContainerBase.listeners:Ljava/util/List;
aload 1
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.apache.catalina.ContainerListener[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/core/ContainerBase;
2 3 1 results [Lorg/apache/catalina/ContainerListener;
public void removeChild(org.apache.catalina.Container);
descriptor: (Lorg/apache/catalina/Container;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.apache.catalina.Container.getState:()Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
ifeq 7
3: aload 1
invokeinterface org.apache.catalina.Container.stop:()V
4: goto 7
StackMap locals:
StackMap stack: org.apache.catalina.LifecycleException
5: astore 2
start local 2 6: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.child.stop"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 2
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 2 7: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 8: getstatic org.apache.catalina.LifecycleState.DESTROYING:Lorg/apache/catalina/LifecycleState;
aload 1
invokeinterface org.apache.catalina.Container.getState:()Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.LifecycleState.equals:(Ljava/lang/Object;)Z
ifne 14
9: aload 1
invokeinterface org.apache.catalina.Container.destroy:()V
10: iconst_1
istore 2
11: goto 14
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Container int
StackMap stack: org.apache.catalina.LifecycleException
12: astore 3
start local 3 13: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.child.destroy"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 3
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 3 14: StackMap locals:
StackMap stack:
iload 2
ifne 16
15: aload 0
ldc "removeChild"
aload 1
invokevirtual org.apache.catalina.core.ContainerBase.fireContainerEvent:(Ljava/lang/String;Ljava/lang/Object;)V
16: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.children:Ljava/util/HashMap;
dup
astore 3
monitorenter
17: aload 0
getfield org.apache.catalina.core.ContainerBase.children:Ljava/util/HashMap;
aload 1
invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 20
18: aload 3
monitorexit
19: return
20: StackMap locals: java.util.HashMap
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.children:Ljava/util/HashMap;
aload 1
invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
21: aload 3
monitorexit
22: goto 25
StackMap locals:
StackMap stack: java.lang.Throwable
23: aload 3
monitorexit
24: athrow
25: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/apache/catalina/core/ContainerBase;
0 26 1 child Lorg/apache/catalina/Container;
6 7 2 e Lorg/apache/catalina/LifecycleException;
8 26 2 destroy Z
13 14 3 e Lorg/apache/catalina/LifecycleException;
Exception table:
from to target type
2 4 5 Class org.apache.catalina.LifecycleException
8 11 12 Class org.apache.catalina.LifecycleException
17 19 23 any
20 22 23 any
23 24 23 any
MethodParameters:
Name Flags
child
public void removeContainerListener(org.apache.catalina.ContainerListener);
descriptor: (Lorg/apache/catalina/ContainerListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.core.ContainerBase.listeners:Ljava/util/List;
aload 1
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/core/ContainerBase;
0 2 1 listener Lorg/apache/catalina/ContainerListener;
MethodParameters:
Name Flags
listener
public void removePropertyChangeListener(java.beans.PropertyChangeListener);
descriptor: (Ljava/beans/PropertyChangeListener;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.core.ContainerBase.support:Ljava/beans/PropertyChangeSupport;
aload 1
invokevirtual java.beans.PropertyChangeSupport.removePropertyChangeListener:(Ljava/beans/PropertyChangeListener;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/core/ContainerBase;
0 2 1 listener Ljava/beans/PropertyChangeListener;
MethodParameters:
Name Flags
listener
protected void initInternal();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getStartStopThreads:()I
invokevirtual org.apache.catalina.core.ContainerBase.reconfigureStartStopExecutor:(I)V
1: aload 0
invokespecial org.apache.catalina.util.LifecycleMBeanBase.initInternal:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/core/ContainerBase;
Exceptions:
throws org.apache.catalina.LifecycleException
private void reconfigureStartStopExecutor(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
iconst_1
if_icmpne 4
1: aload 0
getfield org.apache.catalina.core.ContainerBase.startStopExecutor:Ljava/util/concurrent/ExecutorService;
instanceof org.apache.tomcat.util.threads.InlineExecutorService
ifne 7
2: aload 0
new org.apache.tomcat.util.threads.InlineExecutorService
dup
invokespecial org.apache.tomcat.util.threads.InlineExecutorService.<init>:()V
putfield org.apache.catalina.core.ContainerBase.startStopExecutor:Ljava/util/concurrent/ExecutorService;
3: goto 7
4: StackMap locals:
StackMap stack:
aload 0
invokestatic org.apache.catalina.Container.getService:(Lorg/apache/catalina/Container;)Lorg/apache/catalina/Service;
invokeinterface org.apache.catalina.Service.getServer:()Lorg/apache/catalina/Server;
astore 2
start local 2 5: aload 2
iload 1
invokeinterface org.apache.catalina.Server.setUtilityThreads:(I)V
6: aload 0
aload 2
invokeinterface org.apache.catalina.Server.getUtilityExecutor:()Ljava/util/concurrent/ScheduledExecutorService;
putfield org.apache.catalina.core.ContainerBase.startStopExecutor:Ljava/util/concurrent/ExecutorService;
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/core/ContainerBase;
0 8 1 threads I
5 7 2 server Lorg/apache/catalina/Server;
MethodParameters:
Name Flags
threads
protected synchronized void startInternal();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=8, locals=9, args_size=1
start local 0 0: aload 0
aconst_null
putfield org.apache.catalina.core.ContainerBase.logger:Lorg/apache/juli/logging/Log;
1: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getLogger:()Lorg/apache/juli/logging/Log;
pop
2: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getClusterInternal:()Lorg/apache/catalina/Cluster;
astore 1
start local 1 3: aload 1
instanceof org.apache.catalina.Lifecycle
ifeq 5
4: aload 1
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.start:()V
5: StackMap locals: org.apache.catalina.Cluster
StackMap stack:
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getRealmInternal:()Lorg/apache/catalina/Realm;
astore 2
start local 2 6: aload 2
instanceof org.apache.catalina.Lifecycle
ifeq 8
7: aload 2
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.start:()V
8: StackMap locals: org.apache.catalina.Realm
StackMap stack:
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.findChildren:()[Lorg/apache/catalina/Container;
astore 3
start local 3 9: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 10: aload 3
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 14
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Cluster org.apache.catalina.Realm org.apache.catalina.Container[] java.util.List top int int org.apache.catalina.Container[]
StackMap stack:
11: aload 8
iload 6
aaload
astore 5
start local 5 12: aload 4
aload 0
getfield org.apache.catalina.core.ContainerBase.startStopExecutor:Ljava/util/concurrent/ExecutorService;
new org.apache.catalina.core.ContainerBase$StartChild
dup
aload 5
invokespecial org.apache.catalina.core.ContainerBase$StartChild.<init>:(Lorg/apache/catalina/Container;)V
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 13: iinc 6 1
StackMap locals:
StackMap stack:
14: iload 6
iload 7
if_icmplt 11
15: aconst_null
astore 5
start local 5 16: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 25
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Cluster org.apache.catalina.Realm org.apache.catalina.Container[] java.util.List org.apache.tomcat.util.MultiThrowable top java.util.Iterator
StackMap stack:
17: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.concurrent.Future
astore 6
start local 6 18: aload 6
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
pop
19: goto 25
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Cluster org.apache.catalina.Realm org.apache.catalina.Container[] java.util.List org.apache.tomcat.util.MultiThrowable java.util.concurrent.Future java.util.Iterator
StackMap stack: java.lang.Throwable
20: astore 8
start local 8 21: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.threadedStartFailed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 8
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
22: aload 5
ifnonnull 24
23: new org.apache.tomcat.util.MultiThrowable
dup
invokespecial org.apache.tomcat.util.MultiThrowable.<init>:()V
astore 5
24: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
aload 8
invokevirtual org.apache.tomcat.util.MultiThrowable.add:(Ljava/lang/Throwable;)V
end local 8 end local 6 25: StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Cluster org.apache.catalina.Realm org.apache.catalina.Container[] java.util.List org.apache.tomcat.util.MultiThrowable top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
26: aload 5
ifnull 30
27: new org.apache.catalina.LifecycleException
dup
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.threadedStartFailed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
28: aload 5
invokevirtual org.apache.tomcat.util.MultiThrowable.getThrowable:()Ljava/lang/Throwable;
29: invokespecial org.apache.catalina.LifecycleException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
30: StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Cluster org.apache.catalina.Realm org.apache.catalina.Container[] java.util.List org.apache.tomcat.util.MultiThrowable
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.pipeline:Lorg/apache/catalina/Pipeline;
instanceof org.apache.catalina.Lifecycle
ifeq 32
31: aload 0
getfield org.apache.catalina.core.ContainerBase.pipeline:Lorg/apache/catalina/Pipeline;
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.start:()V
32: StackMap locals:
StackMap stack:
aload 0
getstatic org.apache.catalina.LifecycleState.STARTING:Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.core.ContainerBase.setState:(Lorg/apache/catalina/LifecycleState;)V
33: aload 0
getfield org.apache.catalina.core.ContainerBase.backgroundProcessorDelay:I
ifle 39
34: aload 0
aload 0
invokestatic org.apache.catalina.Container.getService:(Lorg/apache/catalina/Container;)Lorg/apache/catalina/Service;
invokeinterface org.apache.catalina.Service.getServer:()Lorg/apache/catalina/Server;
35: invokeinterface org.apache.catalina.Server.getUtilityExecutor:()Ljava/util/concurrent/ScheduledExecutorService;
36: new org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessorMonitor
dup
aload 0
invokespecial org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessorMonitor.<init>:(Lorg/apache/catalina/core/ContainerBase;)V
lconst_0
ldc 60
getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
37: invokeinterface java.util.concurrent.ScheduledExecutorService.scheduleWithFixedDelay:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
38: putfield org.apache.catalina.core.ContainerBase.monitorFuture:Ljava/util/concurrent/ScheduledFuture;
39: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lorg/apache/catalina/core/ContainerBase;
3 40 1 cluster Lorg/apache/catalina/Cluster;
6 40 2 realm Lorg/apache/catalina/Realm;
9 40 3 children [Lorg/apache/catalina/Container;
10 40 4 results Ljava/util/List<Ljava/util/concurrent/Future<Ljava/lang/Void;>;>;
12 13 5 child Lorg/apache/catalina/Container;
16 40 5 multiThrowable Lorg/apache/tomcat/util/MultiThrowable;
18 25 6 result Ljava/util/concurrent/Future<Ljava/lang/Void;>;
21 25 8 e Ljava/lang/Throwable;
Exception table:
from to target type
18 19 20 Class java.lang.Throwable
Exceptions:
throws org.apache.catalina.LifecycleException
protected synchronized void stopInternal();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.monitorFuture:Ljava/util/concurrent/ScheduledFuture;
ifnull 3
1: aload 0
getfield org.apache.catalina.core.ContainerBase.monitorFuture:Ljava/util/concurrent/ScheduledFuture;
iconst_1
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
pop
2: aload 0
aconst_null
putfield org.apache.catalina.core.ContainerBase.monitorFuture:Ljava/util/concurrent/ScheduledFuture;
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.threadStop:()V
4: aload 0
getstatic org.apache.catalina.LifecycleState.STOPPING:Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.core.ContainerBase.setState:(Lorg/apache/catalina/LifecycleState;)V
5: aload 0
getfield org.apache.catalina.core.ContainerBase.pipeline:Lorg/apache/catalina/Pipeline;
instanceof org.apache.catalina.Lifecycle
ifeq 8
6: aload 0
getfield org.apache.catalina.core.ContainerBase.pipeline:Lorg/apache/catalina/Pipeline;
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.getState:()Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
ifeq 8
7: aload 0
getfield org.apache.catalina.core.ContainerBase.pipeline:Lorg/apache/catalina/Pipeline;
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.stop:()V
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.findChildren:()[Lorg/apache/catalina/Container;
astore 1
start local 1 9: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 10: aload 1
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 14
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Container[] java.util.List top int int org.apache.catalina.Container[]
StackMap stack:
11: aload 6
iload 4
aaload
astore 3
start local 3 12: aload 2
aload 0
getfield org.apache.catalina.core.ContainerBase.startStopExecutor:Ljava/util/concurrent/ExecutorService;
new org.apache.catalina.core.ContainerBase$StopChild
dup
aload 3
invokespecial org.apache.catalina.core.ContainerBase$StopChild.<init>:(Lorg/apache/catalina/Container;)V
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 3 13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 5
if_icmplt 11
15: iconst_0
istore 3
start local 3 16: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 23
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Container[] java.util.List int top java.util.Iterator
StackMap stack:
17: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.concurrent.Future
astore 4
start local 4 18: aload 4
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
pop
19: goto 23
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Container[] java.util.List int java.util.concurrent.Future java.util.Iterator
StackMap stack: java.lang.Exception
20: astore 6
start local 6 21: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.threadedStopFailed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 6
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
22: iconst_1
istore 3
end local 6 end local 4 23: StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Container[] java.util.List int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
24: iload 3
ifeq 28
25: new org.apache.catalina.LifecycleException
dup
26: getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.threadedStopFailed"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
27: invokespecial org.apache.catalina.LifecycleException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Container[] java.util.List int
StackMap stack:
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getRealmInternal:()Lorg/apache/catalina/Realm;
astore 4
start local 4 29: aload 4
instanceof org.apache.catalina.Lifecycle
ifeq 31
30: aload 4
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.stop:()V
31: StackMap locals: org.apache.catalina.Realm
StackMap stack:
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getClusterInternal:()Lorg/apache/catalina/Cluster;
astore 5
start local 5 32: aload 5
instanceof org.apache.catalina.Lifecycle
ifeq 34
33: aload 5
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.stop:()V
34: StackMap locals: org.apache.catalina.Cluster
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Lorg/apache/catalina/core/ContainerBase;
9 35 1 children [Lorg/apache/catalina/Container;
10 35 2 results Ljava/util/List<Ljava/util/concurrent/Future<Ljava/lang/Void;>;>;
12 13 3 child Lorg/apache/catalina/Container;
16 35 3 fail Z
18 23 4 result Ljava/util/concurrent/Future<Ljava/lang/Void;>;
21 23 6 e Ljava/lang/Exception;
29 35 4 realm Lorg/apache/catalina/Realm;
32 35 5 cluster Lorg/apache/catalina/Cluster;
Exception table:
from to target type
18 19 20 Class java.lang.Exception
Exceptions:
throws org.apache.catalina.LifecycleException
protected void destroyInternal();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getRealmInternal:()Lorg/apache/catalina/Realm;
astore 1
start local 1 1: aload 1
instanceof org.apache.catalina.Lifecycle
ifeq 3
2: aload 1
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.destroy:()V
3: StackMap locals: org.apache.catalina.Realm
StackMap stack:
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getClusterInternal:()Lorg/apache/catalina/Cluster;
astore 2
start local 2 4: aload 2
instanceof org.apache.catalina.Lifecycle
ifeq 6
5: aload 2
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.destroy:()V
6: StackMap locals: org.apache.catalina.Cluster
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.pipeline:Lorg/apache/catalina/Pipeline;
instanceof org.apache.catalina.Lifecycle
ifeq 8
7: aload 0
getfield org.apache.catalina.core.ContainerBase.pipeline:Lorg/apache/catalina/Pipeline;
checkcast org.apache.catalina.Lifecycle
invokeinterface org.apache.catalina.Lifecycle.destroy:()V
8: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.findChildren:()[Lorg/apache/catalina/Container;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 12
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Realm org.apache.catalina.Cluster top int int org.apache.catalina.Container[]
StackMap stack:
9: aload 6
iload 4
aaload
astore 3
start local 3 10: aload 0
aload 3
invokevirtual org.apache.catalina.core.ContainerBase.removeChild:(Lorg/apache/catalina/Container;)V
end local 3 11: iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 5
if_icmplt 9
13: aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
ifnull 15
14: aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
aload 0
invokeinterface org.apache.catalina.Container.removeChild:(Lorg/apache/catalina/Container;)V
15: StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Realm org.apache.catalina.Cluster
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.startStopExecutor:Ljava/util/concurrent/ExecutorService;
ifnull 17
16: aload 0
getfield org.apache.catalina.core.ContainerBase.startStopExecutor:Ljava/util/concurrent/ExecutorService;
invokeinterface java.util.concurrent.ExecutorService.shutdownNow:()Ljava/util/List;
pop
17: StackMap locals:
StackMap stack:
aload 0
invokespecial org.apache.catalina.util.LifecycleMBeanBase.destroyInternal:()V
18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/apache/catalina/core/ContainerBase;
1 19 1 realm Lorg/apache/catalina/Realm;
4 19 2 cluster Lorg/apache/catalina/Cluster;
10 11 3 child Lorg/apache/catalina/Container;
Exceptions:
throws org.apache.catalina.LifecycleException
public void logAccess(org.apache.catalina.connector.Request, org.apache.catalina.connector.Response, long, boolean);
descriptor: (Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;JZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: iconst_0
istore 6
start local 6 1: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getAccessLog:()Lorg/apache/catalina/AccessLog;
ifnull 4
2: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getAccessLog:()Lorg/apache/catalina/AccessLog;
aload 1
aload 2
lload 3
invokeinterface org.apache.catalina.AccessLog.log:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;J)V
3: iconst_1
istore 6
4: StackMap locals: int
StackMap stack:
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getParent:()Lorg/apache/catalina/Container;
ifnull 8
5: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getParent:()Lorg/apache/catalina/Container;
aload 1
aload 2
lload 3
iload 5
ifeq 6
iload 6
ifne 6
iconst_1
goto 7
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.connector.Request org.apache.catalina.connector.Response long int int
StackMap stack: org.apache.catalina.Container org.apache.catalina.connector.Request org.apache.catalina.connector.Response long
6: iconst_0
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.connector.Request org.apache.catalina.connector.Response long int int
StackMap stack: org.apache.catalina.Container org.apache.catalina.connector.Request org.apache.catalina.connector.Response long int
7: invokeinterface org.apache.catalina.Container.logAccess:(Lorg/apache/catalina/connector/Request;Lorg/apache/catalina/connector/Response;JZ)V
8: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/apache/catalina/core/ContainerBase;
0 9 1 request Lorg/apache/catalina/connector/Request;
0 9 2 response Lorg/apache/catalina/connector/Response;
0 9 3 time J
0 9 5 useDefault Z
1 9 6 logged Z
MethodParameters:
Name Flags
request
response
time
useDefault
public org.apache.catalina.AccessLog getAccessLog();
descriptor: ()Lorg/apache/catalina/AccessLog;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.accessLogScanComplete:Z
ifeq 2
1: aload 0
getfield org.apache.catalina.core.ContainerBase.accessLog:Lorg/apache/catalina/AccessLog;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
start local 1 3: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getPipeline:()Lorg/apache/catalina/Pipeline;
invokeinterface org.apache.catalina.Pipeline.getValves:()[Lorg/apache/catalina/Valve;
astore 2
start local 2 4: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 12
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.core.AccessLogAdapter org.apache.catalina.Valve[] top int int org.apache.catalina.Valve[]
StackMap stack:
5: aload 6
iload 4
aaload
astore 3
start local 3 6: aload 3
instanceof org.apache.catalina.AccessLog
ifeq 11
7: aload 1
ifnonnull 10
8: new org.apache.catalina.core.AccessLogAdapter
dup
aload 3
checkcast org.apache.catalina.AccessLog
invokespecial org.apache.catalina.core.AccessLogAdapter.<init>:(Lorg/apache/catalina/AccessLog;)V
astore 1
9: goto 11
10: StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.core.AccessLogAdapter org.apache.catalina.Valve[] org.apache.catalina.Valve int int org.apache.catalina.Valve[]
StackMap stack:
aload 1
aload 3
checkcast org.apache.catalina.AccessLog
invokevirtual org.apache.catalina.core.AccessLogAdapter.add:(Lorg/apache/catalina/AccessLog;)V
end local 3 11: StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.core.AccessLogAdapter org.apache.catalina.Valve[] top int int org.apache.catalina.Valve[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
12: iload 4
iload 5
if_icmplt 5
13: aload 1
ifnull 15
14: aload 0
aload 1
putfield org.apache.catalina.core.ContainerBase.accessLog:Lorg/apache/catalina/AccessLog;
15: StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.core.AccessLogAdapter org.apache.catalina.Valve[]
StackMap stack:
aload 0
iconst_1
putfield org.apache.catalina.core.ContainerBase.accessLogScanComplete:Z
16: aload 0
getfield org.apache.catalina.core.ContainerBase.accessLog:Lorg/apache/catalina/AccessLog;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/catalina/core/ContainerBase;
3 17 1 adapter Lorg/apache/catalina/core/AccessLogAdapter;
4 17 2 valves [Lorg/apache/catalina/Valve;
6 11 3 valve Lorg/apache/catalina/Valve;
public synchronized void addValve(org.apache.catalina.Valve);
descriptor: (Lorg/apache/catalina/Valve;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.catalina.core.ContainerBase.pipeline:Lorg/apache/catalina/Pipeline;
aload 1
invokeinterface org.apache.catalina.Pipeline.addValve:(Lorg/apache/catalina/Valve;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/catalina/core/ContainerBase;
0 2 1 valve Lorg/apache/catalina/Valve;
MethodParameters:
Name Flags
valve
public void backgroundProcess();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getState:()Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getClusterInternal:()Lorg/apache/catalina/Cluster;
astore 1
start local 1 3: aload 1
ifnull 12
4: aload 1
invokeinterface org.apache.catalina.Cluster.backgroundProcess:()V
5: goto 12
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Cluster
StackMap stack: java.lang.Exception
6: astore 2
start local 2 7: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.backgroundProcess.cluster"
iconst_1
anewarray java.lang.Object
dup
iconst_0
8: aload 1
aastore
9: invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
10: aload 2
11: invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 2 12: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getRealmInternal:()Lorg/apache/catalina/Realm;
astore 2
start local 2 13: aload 2
ifnull 18
14: aload 2
invokeinterface org.apache.catalina.Realm.backgroundProcess:()V
15: goto 18
StackMap locals: org.apache.catalina.core.ContainerBase org.apache.catalina.Cluster org.apache.catalina.Realm
StackMap stack: java.lang.Exception
16: astore 3
start local 3 17: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.backgroundProcess.realm"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 3
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 3 18: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.pipeline:Lorg/apache/catalina/Pipeline;
invokeinterface org.apache.catalina.Pipeline.getFirst:()Lorg/apache/catalina/Valve;
astore 3
start local 3 19: goto 25
20: StackMap locals: org.apache.catalina.Valve
StackMap stack:
aload 3
invokeinterface org.apache.catalina.Valve.backgroundProcess:()V
21: goto 24
StackMap locals:
StackMap stack: java.lang.Exception
22: astore 4
start local 4 23: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.backgroundProcess.valve"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 4
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 4 24: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.apache.catalina.Valve.getNext:()Lorg/apache/catalina/Valve;
astore 3
25: StackMap locals:
StackMap stack:
aload 3
ifnonnull 20
26: aload 0
ldc "periodic"
aconst_null
invokevirtual org.apache.catalina.core.ContainerBase.fireLifecycleEvent:(Ljava/lang/String;Ljava/lang/Object;)V
27: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/apache/catalina/core/ContainerBase;
3 28 1 cluster Lorg/apache/catalina/Cluster;
7 12 2 e Ljava/lang/Exception;
13 28 2 realm Lorg/apache/catalina/Realm;
17 18 3 e Ljava/lang/Exception;
19 28 3 current Lorg/apache/catalina/Valve;
23 24 4 e Ljava/lang/Exception;
Exception table:
from to target type
4 5 6 Class java.lang.Exception
14 15 16 Class java.lang.Exception
20 21 22 Class java.lang.Exception
public java.io.File getCatalinaBase();
descriptor: ()Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getCatalinaBase:()Ljava/io/File;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/core/ContainerBase;
public java.io.File getCatalinaHome();
descriptor: ()Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.parent:Lorg/apache/catalina/Container;
invokeinterface org.apache.catalina.Container.getCatalinaHome:()Ljava/io/File;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/catalina/core/ContainerBase;
public void fireContainerEvent(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.apache.catalina.core.ContainerBase.listeners:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
if_icmpge 2
1: return
2: StackMap locals:
StackMap stack:
new org.apache.catalina.ContainerEvent
dup
aload 0
aload 1
aload 2
invokespecial org.apache.catalina.ContainerEvent.<init>:(Lorg/apache/catalina/Container;Ljava/lang/String;Ljava/lang/Object;)V
astore 3
start local 3 3: aload 0
getfield org.apache.catalina.core.ContainerBase.listeners:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 6
StackMap locals: org.apache.catalina.core.ContainerBase java.lang.String java.lang.Object org.apache.catalina.ContainerEvent top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.catalina.ContainerListener
astore 4
start local 4 5: aload 4
aload 3
invokeinterface org.apache.catalina.ContainerListener.containerEvent:(Lorg/apache/catalina/ContainerEvent;)V
end local 4 6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/catalina/core/ContainerBase;
0 8 1 type Ljava/lang/String;
0 8 2 data Ljava/lang/Object;
3 8 3 event Lorg/apache/catalina/ContainerEvent;
5 6 4 listener Lorg/apache/catalina/ContainerListener;
MethodParameters:
Name Flags
type
data
protected java.lang.String getDomainInternal();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getParent:()Lorg/apache/catalina/Container;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: org.apache.catalina.Container
StackMap stack:
aload 1
invokeinterface org.apache.catalina.Container.getDomain:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/core/ContainerBase;
1 4 1 p Lorg/apache/catalina/Container;
public java.lang.String getMBeanKeyProperties();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=1
start local 0 0: aload 0
astore 1
start local 1 1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 27
4: StackMap locals: org.apache.catalina.Container java.lang.StringBuilder int
StackMap stack:
aload 1
instanceof org.apache.catalina.Wrapper
ifeq 8
5: aload 2
iconst_0
ldc ",servlet="
invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 2
bipush 9
aload 1
invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
pop
7: goto 26
StackMap locals:
StackMap stack:
8: aload 1
instanceof org.apache.catalina.Context
ifeq 13
9: aload 2
iconst_0
ldc ",context="
invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
pop
10: new org.apache.catalina.util.ContextName
dup
aload 1
invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
iconst_0
invokespecial org.apache.catalina.util.ContextName.<init>:(Ljava/lang/String;Z)V
astore 4
start local 4 11: aload 2
bipush 9
aload 4
invokevirtual org.apache.catalina.util.ContextName.getDisplayName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 4 12: goto 26
StackMap locals:
StackMap stack:
13: aload 1
instanceof org.apache.catalina.Host
ifeq 17
14: aload 2
iconst_0
ldc ",host="
invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
pop
15: aload 2
bipush 6
aload 1
invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.insert:(ILjava/lang/String;)Ljava/lang/StringBuilder;
pop
16: goto 26
StackMap locals:
StackMap stack:
17: aload 1
ifnonnull 22
18: aload 2
ldc ",container"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
19: aload 2
iload 3
iinc 3 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
20: aload 2
ldc "=null"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: goto 28
22: StackMap locals:
StackMap stack:
aload 2
ldc ",container"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: aload 2
iload 3
iinc 3 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
24: aload 2
bipush 61
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
25: aload 2
aload 1
invokeinterface org.apache.catalina.Container.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.apache.catalina.Container.getParent:()Lorg/apache/catalina/Container;
astore 1
27: StackMap locals:
StackMap stack:
aload 1
instanceof org.apache.catalina.Engine
ifeq 4
28: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lorg/apache/catalina/core/ContainerBase;
1 29 1 c Lorg/apache/catalina/Container;
2 29 2 keyProperties Ljava/lang/StringBuilder;
3 29 3 containerCount I
11 12 4 cn Lorg/apache/catalina/util/ContextName;
public javax.management.ObjectName[] getChildren();
descriptor: ()[Ljavax/management/ObjectName;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.util.ArrayList
dup
aload 0
getfield org.apache.catalina.core.ContainerBase.children:Ljava/util/HashMap;
invokevirtual java.util.HashMap.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 1: aload 0
getfield org.apache.catalina.core.ContainerBase.children:Ljava/util/HashMap;
invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.apache.catalina.core.ContainerBase java.util.List top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.apache.catalina.Container
astore 2
start local 2 3: aload 2
instanceof org.apache.catalina.core.ContainerBase
ifeq 5
4: aload 1
aload 2
invokeinterface org.apache.catalina.Container.getObjectName:()Ljavax/management/ObjectName;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: aload 1
iconst_0
anewarray javax.management.ObjectName
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast javax.management.ObjectName[]
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/apache/catalina/core/ContainerBase;
1 7 1 names Ljava/util/List<Ljavax/management/ObjectName;>;
3 5 2 next Lorg/apache/catalina/Container;
protected void threadStart();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.backgroundProcessorDelay:I
ifle 14
1: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getState:()Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.LifecycleState.isAvailable:()Z
ifne 2
getstatic org.apache.catalina.LifecycleState.STARTING_PREP:Lorg/apache/catalina/LifecycleState;
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getState:()Lorg/apache/catalina/LifecycleState;
invokevirtual org.apache.catalina.LifecycleState.equals:(Ljava/lang/Object;)Z
ifeq 14
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.backgroundProcessorFuture:Ljava/util/concurrent/ScheduledFuture;
ifnull 3
aload 0
getfield org.apache.catalina.core.ContainerBase.backgroundProcessorFuture:Ljava/util/concurrent/ScheduledFuture;
invokeinterface java.util.concurrent.ScheduledFuture.isDone:()Z
ifeq 14
3: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.catalina.core.ContainerBase.backgroundProcessorFuture:Ljava/util/concurrent/ScheduledFuture;
ifnull 8
aload 0
getfield org.apache.catalina.core.ContainerBase.backgroundProcessorFuture:Ljava/util/concurrent/ScheduledFuture;
invokeinterface java.util.concurrent.ScheduledFuture.isDone:()Z
ifeq 8
4: aload 0
getfield org.apache.catalina.core.ContainerBase.backgroundProcessorFuture:Ljava/util/concurrent/ScheduledFuture;
invokeinterface java.util.concurrent.ScheduledFuture.get:()Ljava/lang/Object;
pop
5: goto 8
StackMap locals:
StackMap stack: java.lang.Exception
6: astore 1
start local 1 7: getstatic org.apache.catalina.core.ContainerBase.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.catalina.core.ContainerBase.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "containerBase.backgroundProcess.error"
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
aload 0
invokestatic org.apache.catalina.Container.getService:(Lorg/apache/catalina/Container;)Lorg/apache/catalina/Service;
invokeinterface org.apache.catalina.Service.getServer:()Lorg/apache/catalina/Server;
invokeinterface org.apache.catalina.Server.getUtilityExecutor:()Ljava/util/concurrent/ScheduledExecutorService;
9: new org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor
dup
aload 0
invokespecial org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.<init>:(Lorg/apache/catalina/core/ContainerBase;)V
10: aload 0
getfield org.apache.catalina.core.ContainerBase.backgroundProcessorDelay:I
i2l
aload 0
getfield org.apache.catalina.core.ContainerBase.backgroundProcessorDelay:I
i2l
11: getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
12: invokeinterface java.util.concurrent.ScheduledExecutorService.scheduleWithFixedDelay:(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
13: putfield org.apache.catalina.core.ContainerBase.backgroundProcessorFuture:Ljava/util/concurrent/ScheduledFuture;
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/catalina/core/ContainerBase;
7 8 1 e Ljava/lang/Exception;
Exception table:
from to target type
4 5 6 Class java.lang.InterruptedException
4 5 6 Class java.util.concurrent.ExecutionException
protected void threadStop();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.catalina.core.ContainerBase.backgroundProcessorFuture:Ljava/util/concurrent/ScheduledFuture;
ifnull 3
1: aload 0
getfield org.apache.catalina.core.ContainerBase.backgroundProcessorFuture:Ljava/util/concurrent/ScheduledFuture;
iconst_1
invokeinterface java.util.concurrent.ScheduledFuture.cancel:(Z)Z
pop
2: aload 0
aconst_null
putfield org.apache.catalina.core.ContainerBase.backgroundProcessorFuture:Ljava/util/concurrent/ScheduledFuture;
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/catalina/core/ContainerBase;
public final java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getParent:()Lorg/apache/catalina/Container;
astore 2
start local 2 2: aload 2
ifnull 5
3: aload 1
aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 1
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: StackMap locals: java.lang.StringBuilder org.apache.catalina.Container
StackMap stack:
aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 1
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
7: aload 1
aload 0
invokevirtual org.apache.catalina.core.ContainerBase.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 1
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/catalina/core/ContainerBase;
1 10 1 sb Ljava/lang/StringBuilder;
2 10 2 parent Lorg/apache/catalina/Container;
}
SourceFile: "ContainerBase.java"
NestMembers:
org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessorMonitor org.apache.catalina.core.ContainerBase$PrivilegedAddChild org.apache.catalina.core.ContainerBase$StartChild org.apache.catalina.core.ContainerBase$StopChild
InnerClasses:
protected ContainerBackgroundProcessor = org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor of org.apache.catalina.core.ContainerBase
protected ContainerBackgroundProcessorMonitor = org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessorMonitor of org.apache.catalina.core.ContainerBase
protected PrivilegedAddChild = org.apache.catalina.core.ContainerBase$PrivilegedAddChild of org.apache.catalina.core.ContainerBase
private StartChild = org.apache.catalina.core.ContainerBase$StartChild of org.apache.catalina.core.ContainerBase
private StopChild = org.apache.catalina.core.ContainerBase$StopChild of org.apache.catalina.core.ContainerBase