class org.glassfish.grizzly.servlet.AsyncContextImpl implements jakarta.servlet.AsyncContext
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.glassfish.grizzly.servlet.AsyncContextImpl
super_class: java.lang.Object
{
private static final java.util.logging.Logger log;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long DEFAULT_ASYNC_TIMEOUT_MILLIS;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1
static final java.util.concurrent.ExecutorService pool;
descriptor: Ljava/util/concurrent/ExecutorService;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private final org.glassfish.grizzly.servlet.HttpServletRequestImpl origRequest;
descriptor: Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private jakarta.servlet.ServletRequest servletRequest;
descriptor: Ljakarta/servlet/ServletRequest;
flags: (0x0002) ACC_PRIVATE
private jakarta.servlet.ServletResponse servletResponse;
descriptor: Ljakarta/servlet/ServletResponse;
flags: (0x0002) ACC_PRIVATE
private boolean isOriginalRequestAndResponse;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean isStartAsyncWithZeroArg;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.util.concurrent.atomic.AtomicBoolean isDispatchInProgress;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.ThreadLocal<java.lang.Boolean> isDispatchInScope;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/Boolean;>;
private final java.util.concurrent.atomic.AtomicBoolean isOkToConfigure;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long asyncTimeoutMillis;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private final java.util.LinkedList<org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncListenerContext> asyncListenerContexts;
descriptor: Ljava/util/LinkedList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/LinkedList<Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncListenerContext;>;
private final java.util.concurrent.atomic.AtomicInteger startAsyncCounter;
descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.ThreadLocal<java.lang.Boolean> isStartAsyncInScope;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/Boolean;>;
private static volatile int[] $SWITCH_TABLE$org$glassfish$grizzly$servlet$AsyncContextImpl$AsyncEventType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
putstatic org.glassfish.grizzly.servlet.AsyncContextImpl.log:Ljava/util/logging/Logger;
1: new org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncPoolThreadFactory
dup
invokespecial org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncPoolThreadFactory.<init>:()V
invokestatic java.util.concurrent.Executors.newCachedThreadPool:(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
putstatic org.glassfish.grizzly.servlet.AsyncContextImpl.pool:Ljava/util/concurrent/ExecutorService;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.glassfish.grizzly.servlet.HttpServletRequestImpl, jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, boolean);
descriptor: (Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Z)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.isOriginalRequestAndResponse:Z
2: aload 0
iconst_0
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.isStartAsyncWithZeroArg:Z
3: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.isDispatchInProgress:Ljava/util/concurrent/atomic/AtomicBoolean;
4: aload 0
new org.glassfish.grizzly.servlet.AsyncContextImpl$1
dup
aload 0
invokespecial org.glassfish.grizzly.servlet.AsyncContextImpl$1.<init>:(Lorg/glassfish/grizzly/servlet/AsyncContextImpl;)V
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.isDispatchInScope:Ljava/lang/ThreadLocal;
5: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_1
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.isOkToConfigure:Ljava/util/concurrent/atomic/AtomicBoolean;
6: aload 0
ldc -1
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncTimeoutMillis:J
7: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncListenerContexts:Ljava/util/LinkedList;
8: aload 0
new java.util.concurrent.atomic.AtomicInteger
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.startAsyncCounter:Ljava/util/concurrent/atomic/AtomicInteger;
9: aload 0
new org.glassfish.grizzly.servlet.AsyncContextImpl$2
dup
aload 0
invokespecial org.glassfish.grizzly.servlet.AsyncContextImpl$2.<init>:(Lorg/glassfish/grizzly/servlet/AsyncContextImpl;)V
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.isStartAsyncInScope:Ljava/lang/ThreadLocal;
10: aload 0
aload 1
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.origRequest:Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
11: aload 0
aload 2
aload 3
iload 4
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl.init:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Z)V
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 13 1 origRequest Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
0 13 2 servletRequest Ljakarta/servlet/ServletRequest;
0 13 3 servletResponse Ljakarta/servlet/ServletResponse;
0 13 4 isStartAsyncWithZeroArg Z
MethodParameters:
Name Flags
origRequest
servletRequest
servletResponse
isStartAsyncWithZeroArg
public jakarta.servlet.ServletRequest getRequest();
descriptor: ()Ljakarta/servlet/ServletRequest;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.servletRequest:Ljakarta/servlet/ServletRequest;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
org.glassfish.grizzly.servlet.HttpServletRequestImpl getOriginalRequest();
descriptor: ()Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.origRequest:Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
public jakarta.servlet.ServletResponse getResponse();
descriptor: ()Ljakarta/servlet/ServletResponse;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.servletResponse:Ljakarta/servlet/ServletResponse;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
public boolean hasOriginalRequestAndResponse();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isOriginalRequestAndResponse:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
public void dispatch();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.origRequest:Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.servletRequest:Ljakarta/servlet/ServletRequest;
aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isStartAsyncWithZeroArg:Z
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl.getZeroArgDispatcher:(Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;Ljakarta/servlet/ServletRequest;Z)Ljakarta/servlet/RequestDispatcher;
checkcast org.glassfish.grizzly.servlet.ApplicationDispatcher
astore 1
start local 1 1: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isDispatchInScope:Ljava/lang/ThreadLocal;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
2: aload 1
ifnull 7
3: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isDispatchInProgress:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifeq 6
4: getstatic org.glassfish.grizzly.servlet.AsyncContextImpl.pool:Ljava/util/concurrent/ExecutorService;
new org.glassfish.grizzly.servlet.AsyncContextImpl$Handler
dup
aload 0
aload 1
aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.origRequest:Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
invokespecial org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.<init>:(Lorg/glassfish/grizzly/servlet/AsyncContextImpl;Lorg/glassfish/grizzly/servlet/ApplicationDispatcher;Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;)V
invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
5: goto 8
6: StackMap locals: org.glassfish.grizzly.servlet.ApplicationDispatcher
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Asynchronous dispatch already in progress, must call ServletRequest.startAsync first"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
getstatic org.glassfish.grizzly.servlet.AsyncContextImpl.log:Ljava/util/logging/Logger;
ldc "Unable to determine target of zero-arg dispatcher"
invokevirtual java.util.logging.Logger.warning:(Ljava/lang/String;)V
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
1 9 1 dispatcher Lorg/glassfish/grizzly/servlet/ApplicationDispatcher;
public void dispatch(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Null path"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.servletRequest:Ljakarta/servlet/ServletRequest;
aload 1
invokeinterface jakarta.servlet.ServletRequest.getRequestDispatcher:(Ljava/lang/String;)Ljakarta/servlet/RequestDispatcher;
checkcast org.glassfish.grizzly.servlet.ApplicationDispatcher
astore 2
start local 2 3: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isDispatchInScope:Ljava/lang/ThreadLocal;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
4: aload 2
ifnull 9
5: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isDispatchInProgress:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifeq 8
6: getstatic org.glassfish.grizzly.servlet.AsyncContextImpl.pool:Ljava/util/concurrent/ExecutorService;
new org.glassfish.grizzly.servlet.AsyncContextImpl$Handler
dup
aload 0
aload 2
aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.origRequest:Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
invokespecial org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.<init>:(Lorg/glassfish/grizzly/servlet/AsyncContextImpl;Lorg/glassfish/grizzly/servlet/ApplicationDispatcher;Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;)V
invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
7: goto 10
8: StackMap locals: org.glassfish.grizzly.servlet.ApplicationDispatcher
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Asynchronous dispatch already in progress, must call ServletRequest.startAsync first"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
getstatic org.glassfish.grizzly.servlet.AsyncContextImpl.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
ldc "Unable to acquire RequestDispatcher for {0}"
aload 1
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 11 1 path Ljava/lang/String;
3 11 2 dispatcher Lorg/glassfish/grizzly/servlet/ApplicationDispatcher;
MethodParameters:
Name Flags
path
public void dispatch(jakarta.servlet.ServletContext, java.lang.String);
descriptor: (Ljakarta/servlet/ServletContext;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 1
aload 1
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Null context or path"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface jakarta.servlet.ServletContext.getRequestDispatcher:(Ljava/lang/String;)Ljakarta/servlet/RequestDispatcher;
checkcast org.glassfish.grizzly.servlet.ApplicationDispatcher
astore 3
start local 3 3: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isDispatchInScope:Ljava/lang/ThreadLocal;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
4: aload 3
ifnull 9
5: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isDispatchInProgress:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
ifeq 8
6: getstatic org.glassfish.grizzly.servlet.AsyncContextImpl.pool:Ljava/util/concurrent/ExecutorService;
new org.glassfish.grizzly.servlet.AsyncContextImpl$Handler
dup
aload 0
aload 3
aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.origRequest:Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
invokespecial org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.<init>:(Lorg/glassfish/grizzly/servlet/AsyncContextImpl;Lorg/glassfish/grizzly/servlet/ApplicationDispatcher;Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;)V
invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
7: goto 10
8: StackMap locals: org.glassfish.grizzly.servlet.ApplicationDispatcher
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Asynchronous dispatch already in progress, must call ServletRequest.startAsync first"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
getstatic org.glassfish.grizzly.servlet.AsyncContextImpl.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
ldc "Unable to acquire RequestDispatcher for {0}in servlet context {1}"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 1
invokeinterface jakarta.servlet.ServletContext.getContextPath:()Ljava/lang/String;
aastore
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 11 1 context Ljakarta/servlet/ServletContext;
0 11 2 path Ljava/lang/String;
3 11 3 dispatcher Lorg/glassfish/grizzly/servlet/ApplicationDispatcher;
MethodParameters:
Name Flags
context
path
boolean isDispatchInScope();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isDispatchInScope:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
boolean getAndResetDispatchInScope();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isDispatchInScope:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 1
start local 1 1: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isDispatchInScope:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
2: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
1 3 1 flag Z
public void complete();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.origRequest:Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
invokevirtual org.glassfish.grizzly.servlet.HttpServletRequestImpl.asyncComplete:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
public void start(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.glassfish.grizzly.servlet.AsyncContextImpl.pool:Ljava/util/concurrent/ExecutorService;
aload 1
invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 2 1 run Ljava/lang/Runnable;
MethodParameters:
Name Flags
run
public void addListener(jakarta.servlet.AsyncListener);
descriptor: (Ljakarta/servlet/AsyncListener;)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
ldc "Null listener"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isOkToConfigure:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ifne 4
3: new java.lang.IllegalStateException
dup
ldc "Must not call AsyncContext.addListener after the container-initiated dispatch during which ServletRequest.startAsync was called has returned to the container"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncListenerContexts:Ljava/util/LinkedList;
dup
astore 2
monitorenter
5: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncListenerContexts:Ljava/util/LinkedList;
new org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncListenerContext
dup
aload 1
invokespecial org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncListenerContext.<init>:(Ljakarta/servlet/AsyncListener;)V
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
6: aload 2
monitorexit
7: goto 10
StackMap locals: org.glassfish.grizzly.servlet.AsyncContextImpl jakarta.servlet.AsyncListener java.util.LinkedList
StackMap stack: java.lang.Throwable
8: aload 2
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 11 1 listener Ljakarta/servlet/AsyncListener;
Exception table:
from to target type
5 7 8 any
8 9 8 any
MethodParameters:
Name Flags
listener
public void addListener(jakarta.servlet.AsyncListener, jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse);
descriptor: (Ljakarta/servlet/AsyncListener;Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 1
aload 2
ifnull 1
aload 3
ifnonnull 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Null listener, request, or response"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isOkToConfigure:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ifne 4
3: new java.lang.IllegalStateException
dup
ldc "Must not call AsyncContext.addListener after the container-initiated dispatch during which ServletRequest.startAsync was called has returned to the container"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncListenerContexts:Ljava/util/LinkedList;
dup
astore 4
monitorenter
5: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncListenerContexts:Ljava/util/LinkedList;
new org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncListenerContext
dup
aload 1
aload 2
aload 3
invokespecial org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncListenerContext.<init>:(Ljakarta/servlet/AsyncListener;Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;)V
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
6: aload 4
monitorexit
7: goto 10
StackMap locals: org.glassfish.grizzly.servlet.AsyncContextImpl jakarta.servlet.AsyncListener jakarta.servlet.ServletRequest jakarta.servlet.ServletResponse java.util.LinkedList
StackMap stack: java.lang.Throwable
8: aload 4
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 11 1 listener Ljakarta/servlet/AsyncListener;
0 11 2 servletRequest Ljakarta/servlet/ServletRequest;
0 11 3 servletResponse Ljakarta/servlet/ServletResponse;
Exception table:
from to target type
5 7 8 any
8 9 8 any
MethodParameters:
Name Flags
listener
servletRequest
servletResponse
public <T extends jakarta.servlet.AsyncListener> T createListener(java.lang.Class<T>);
descriptor: (Ljava/lang/Class;)Ljakarta/servlet/AsyncListener;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.origRequest:Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
invokevirtual org.glassfish.grizzly.servlet.HttpServletRequestImpl.getContextImpl:()Lorg/glassfish/grizzly/servlet/WebappContext;
astore 3
start local 3 2: aload 3
ifnull 7
3: aload 3
aload 1
invokevirtual org.glassfish.grizzly.servlet.WebappContext.createListener:(Ljava/lang/Class;)Ljava/util/EventListener;
checkcast jakarta.servlet.AsyncListener
astore 2
4: goto 7
StackMap locals: org.glassfish.grizzly.servlet.AsyncContextImpl java.lang.Class jakarta.servlet.AsyncListener org.glassfish.grizzly.servlet.WebappContext
StackMap stack: java.lang.Throwable
5: astore 4
start local 4 6: new jakarta.servlet.ServletException
dup
aload 4
invokespecial jakarta.servlet.ServletException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 7: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 8 1 clazz Ljava/lang/Class<TT;>;
1 8 2 listener TT;
2 8 3 ctx Lorg/glassfish/grizzly/servlet/WebappContext;
6 7 4 t Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
Exceptions:
throws jakarta.servlet.ServletException
Signature: <T::Ljakarta/servlet/AsyncListener;>(Ljava/lang/Class<TT;>;)TT;
MethodParameters:
Name Flags
clazz
public void setTimeout(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isOkToConfigure:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "Must not call AsyncContext.setTimeout after the container-initiated dispatch during which ServletRequest.startAsync was called has returned to the container"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
lload 1
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncTimeoutMillis:J
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 4 1 timeout J
MethodParameters:
Name Flags
timeout
public long getTimeout();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncTimeoutMillis:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
void reinitialize(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, boolean);
descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Z)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl.init:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Z)V
1: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isDispatchInProgress:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_0
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
2: aload 0
iconst_1
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl.setOkToConfigure:(Z)V
3: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.startAsyncCounter:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
pop
4: aload 0
getstatic org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.START_ASYNC:Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncEventType;
aconst_null
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl.notifyAsyncListeners:(Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncEventType;Ljava/lang/Throwable;)V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 6 1 servletRequest Ljakarta/servlet/ServletRequest;
0 6 2 servletResponse Ljakarta/servlet/ServletResponse;
0 6 3 isStartAsyncWithZeroArg Z
MethodParameters:
Name Flags
servletRequest
servletResponse
isStartAsyncWithZeroArg
boolean isOkToConfigure();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isOkToConfigure:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
void setOkToConfigure(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isOkToConfigure:Ljava/util/concurrent/atomic/AtomicBoolean;
iload 1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 2 1 value Z
MethodParameters:
Name Flags
value
private void init(jakarta.servlet.ServletRequest, jakarta.servlet.ServletResponse, boolean);
descriptor: (Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.servletRequest:Ljakarta/servlet/ServletRequest;
1: aload 0
aload 2
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.servletResponse:Ljakarta/servlet/ServletResponse;
2: aload 0
aload 1
instanceof org.glassfish.grizzly.servlet.HttpServletRequestImpl
ifeq 3
aload 2
instanceof org.glassfish.grizzly.servlet.HttpServletResponseImpl
ifne 5
3: StackMap locals:
StackMap stack: org.glassfish.grizzly.servlet.AsyncContextImpl
aload 1
instanceof org.glassfish.grizzly.servlet.DispatchedHttpServletRequest
ifeq 4
aload 2
instanceof org.glassfish.grizzly.servlet.DispatchedHttpServletResponse
ifne 5
StackMap locals:
StackMap stack: org.glassfish.grizzly.servlet.AsyncContextImpl
4: iconst_0
goto 6
StackMap locals:
StackMap stack: org.glassfish.grizzly.servlet.AsyncContextImpl
5: iconst_1
6: StackMap locals: org.glassfish.grizzly.servlet.AsyncContextImpl jakarta.servlet.ServletRequest jakarta.servlet.ServletResponse int
StackMap stack: org.glassfish.grizzly.servlet.AsyncContextImpl int
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.isOriginalRequestAndResponse:Z
7: aload 0
iload 3
putfield org.glassfish.grizzly.servlet.AsyncContextImpl.isStartAsyncWithZeroArg:Z
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 9 1 servletRequest Ljakarta/servlet/ServletRequest;
0 9 2 servletResponse Ljakarta/servlet/ServletResponse;
0 9 3 isStartAsyncWithZeroArg Z
MethodParameters:
Name Flags
servletRequest
servletResponse
isStartAsyncWithZeroArg
private jakarta.servlet.RequestDispatcher getZeroArgDispatcher(org.glassfish.grizzly.servlet.HttpServletRequestImpl, jakarta.servlet.ServletRequest, boolean);
descriptor: (Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;Ljakarta/servlet/ServletRequest;Z)Ljakarta/servlet/RequestDispatcher;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: iload 3
ifne 6
aload 2
instanceof jakarta.servlet.http.HttpServletRequest
ifeq 6
3: aload 2
checkcast jakarta.servlet.http.HttpServletRequest
astore 6
start local 6 4: aload 0
aload 6
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl.getCombinedPath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 4
end local 6 5: goto 12
6: StackMap locals: java.lang.String int
StackMap stack:
aload 1
ldc "org.apache.catalina.core.ApplicationDispatcher.lastDispatchRequestPathAttr"
invokevirtual org.glassfish.grizzly.servlet.HttpServletRequestImpl.getAttribute:(Ljava/lang/String;)Ljava/lang/Object;
checkcast org.glassfish.grizzly.servlet.DispatchTargetsInfo
astore 6
start local 6 7: aload 6
ifnull 10
8: aload 6
invokevirtual org.glassfish.grizzly.servlet.DispatchTargetsInfo.getLastDispatchTarget:()Ljava/lang/String;
astore 4
9: aload 6
invokevirtual org.glassfish.grizzly.servlet.DispatchTargetsInfo.isLastNamedDispatchTarget:()Z
istore 5
10: StackMap locals: org.glassfish.grizzly.servlet.DispatchTargetsInfo
StackMap stack:
aload 4
ifnonnull 12
11: aload 0
aload 1
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl.getCombinedPath:(Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
astore 4
end local 6 12: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 13: aload 4
ifnull 17
14: iload 5
ifeq 15
aload 2
invokeinterface jakarta.servlet.ServletRequest.getServletContext:()Ljakarta/servlet/ServletContext;
aload 4
invokeinterface jakarta.servlet.ServletContext.getNamedDispatcher:(Ljava/lang/String;)Ljakarta/servlet/RequestDispatcher;
goto 16
StackMap locals: jakarta.servlet.RequestDispatcher
StackMap stack:
15: aload 2
aload 4
invokeinterface jakarta.servlet.ServletRequest.getRequestDispatcher:(Ljava/lang/String;)Ljakarta/servlet/RequestDispatcher;
StackMap locals:
StackMap stack: jakarta.servlet.RequestDispatcher
16: astore 6
17: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 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 18 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 18 1 origRequest Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
0 18 2 servletRequest Ljakarta/servlet/ServletRequest;
0 18 3 isStartAsyncWithZeroArg Z
1 18 4 dispatchTarget Ljava/lang/String;
2 18 5 isNamed Z
4 5 6 req Ljakarta/servlet/http/HttpServletRequest;
7 12 6 dtInfo Lorg/glassfish/grizzly/servlet/DispatchTargetsInfo;
13 18 6 dispatcher Ljakarta/servlet/RequestDispatcher;
MethodParameters:
Name Flags
origRequest
servletRequest
isStartAsyncWithZeroArg
private java.lang.String getCombinedPath(jakarta.servlet.http.HttpServletRequest);
descriptor: (Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getServletPath:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokeinterface jakarta.servlet.http.HttpServletRequest.getPathInfo:()Ljava/lang/String;
astore 3
start local 3 4: aload 3
ifnonnull 6
5: aload 2
areturn
6: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
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;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 7 1 req Ljakarta/servlet/http/HttpServletRequest;
1 7 2 servletPath Ljava/lang/String;
4 7 3 pathInfo Ljava/lang/String;
MethodParameters:
Name Flags
req
boolean isStartAsyncInScope();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isStartAsyncInScope:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
void notifyAsyncListeners(org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType, java.lang.Throwable);
descriptor: (Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncEventType;Ljava/lang/Throwable;)V
flags: (0x0000)
Code:
stack=6, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncListenerContexts:Ljava/util/LinkedList;
dup
astore 4
monitorenter
1: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncListenerContexts:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.isEmpty:()Z
ifeq 4
2: aload 4
monitorexit
3: return
4: StackMap locals: org.glassfish.grizzly.servlet.AsyncContextImpl org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType java.lang.Throwable top java.util.LinkedList
StackMap stack:
new java.util.LinkedList
dup
aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncListenerContexts:Ljava/util/LinkedList;
invokespecial java.util.LinkedList.<init>:(Ljava/util/Collection;)V
astore 3
start local 3 5: aload 1
getstatic org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.START_ASYNC:Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncEventType;
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.equals:(Ljava/lang/Object;)Z
ifeq 7
6: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncListenerContexts:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.clear:()V
7: StackMap locals: org.glassfish.grizzly.servlet.AsyncContextImpl org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType java.lang.Throwable java.util.LinkedList java.util.LinkedList
StackMap stack:
aload 4
monitorexit
8: goto 11
end local 3 StackMap locals: org.glassfish.grizzly.servlet.AsyncContextImpl org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType java.lang.Throwable top java.util.LinkedList
StackMap stack: java.lang.Throwable
9: aload 4
monitorexit
10: athrow
start local 3 11: StackMap locals: org.glassfish.grizzly.servlet.AsyncContextImpl org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType java.lang.Throwable java.util.LinkedList
StackMap stack:
aload 3
invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
astore 5
goto 27
StackMap locals: org.glassfish.grizzly.servlet.AsyncContextImpl org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType java.lang.Throwable java.util.LinkedList top java.util.Iterator
StackMap stack:
12: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncListenerContext
astore 4
start local 4 13: aload 4
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncListenerContext.getAsyncListener:()Ljakarta/servlet/AsyncListener;
astore 6
start local 6 14: new jakarta.servlet.AsyncEvent
dup
aload 0
aload 4
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncListenerContext.getRequest:()Ljakarta/servlet/ServletRequest;
aload 4
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncListenerContext.getResponse:()Ljakarta/servlet/ServletResponse;
aload 2
invokespecial jakarta.servlet.AsyncEvent.<init>:(Ljakarta/servlet/AsyncContext;Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Ljava/lang/Throwable;)V
astore 7
start local 7 15: invokestatic org.glassfish.grizzly.servlet.AsyncContextImpl.$SWITCH_TABLE$org$glassfish$grizzly$servlet$AsyncContextImpl$AsyncEventType:()[I
aload 1
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 16
2: 18
3: 20
4: 22
default: 24
}
16: StackMap locals: org.glassfish.grizzly.servlet.AsyncContextImpl org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType java.lang.Throwable java.util.LinkedList org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncListenerContext java.util.Iterator jakarta.servlet.AsyncListener jakarta.servlet.AsyncEvent
StackMap stack:
aload 6
aload 7
invokeinterface jakarta.servlet.AsyncListener.onComplete:(Ljakarta/servlet/AsyncEvent;)V
17: goto 27
18: StackMap locals:
StackMap stack:
aload 6
aload 7
invokeinterface jakarta.servlet.AsyncListener.onTimeout:(Ljakarta/servlet/AsyncEvent;)V
19: goto 27
20: StackMap locals:
StackMap stack:
aload 6
aload 7
invokeinterface jakarta.servlet.AsyncListener.onError:(Ljakarta/servlet/AsyncEvent;)V
21: goto 27
22: StackMap locals:
StackMap stack:
aload 6
aload 7
invokeinterface jakarta.servlet.AsyncListener.onStartAsync:(Ljakarta/servlet/AsyncEvent;)V
23: goto 27
24: StackMap locals:
StackMap stack:
goto 27
StackMap locals:
StackMap stack: java.io.IOException
25: astore 8
start local 8 26: getstatic org.glassfish.grizzly.servlet.AsyncContextImpl.log:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
ldc "Error invoking AsyncListener"
aload 8
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 8 end local 7 end local 6 end local 4 27: StackMap locals: org.glassfish.grizzly.servlet.AsyncContextImpl org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType java.lang.Throwable java.util.LinkedList top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
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/glassfish/grizzly/servlet/AsyncContextImpl;
0 29 1 asyncEventType Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncEventType;
0 29 2 t Ljava/lang/Throwable;
5 9 3 clone Ljava/util/LinkedList<Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncListenerContext;>;
11 29 3 clone Ljava/util/LinkedList<Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncListenerContext;>;
13 27 4 asyncListenerContext Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncListenerContext;
14 27 6 asyncListener Ljakarta/servlet/AsyncListener;
15 27 7 asyncEvent Ljakarta/servlet/AsyncEvent;
26 27 8 ioe Ljava/io/IOException;
Exception table:
from to target type
1 3 9 any
4 8 9 any
9 10 9 any
15 24 25 Class java.io.IOException
MethodParameters:
Name Flags
asyncEventType
t
void clear();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncListenerContexts:Ljava/util/LinkedList;
dup
astore 1
monitorenter
1: aload 0
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.asyncListenerContexts:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.clear:()V
2: aload 1
monitorexit
3: goto 6
StackMap locals: org.glassfish.grizzly.servlet.AsyncContextImpl java.util.LinkedList
StackMap stack: java.lang.Throwable
4: aload 1
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
Exception table:
from to target type
1 3 4 any
4 5 4 any
static int[] $SWITCH_TABLE$org$glassfish$grizzly$servlet$AsyncContextImpl$AsyncEventType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.glassfish.grizzly.servlet.AsyncContextImpl.$SWITCH_TABLE$org$glassfish$grizzly$servlet$AsyncContextImpl$AsyncEventType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.values:()[Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncEventType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.COMPLETE:Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncEventType;
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.ERROR:Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncEventType;
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.START_ASYNC:Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncEventType;
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.TIMEOUT:Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncEventType;
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.ordinal:()I
iconst_2
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
dup
putstatic org.glassfish.grizzly.servlet.AsyncContextImpl.$SWITCH_TABLE$org$glassfish$grizzly$servlet$AsyncContextImpl$AsyncEventType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
}
SourceFile: "AsyncContextImpl.java"
NestMembers:
org.glassfish.grizzly.servlet.AsyncContextImpl$1 org.glassfish.grizzly.servlet.AsyncContextImpl$2 org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncListenerContext org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncPoolThreadFactory org.glassfish.grizzly.servlet.AsyncContextImpl$Handler
InnerClasses:
org.glassfish.grizzly.servlet.AsyncContextImpl$1
org.glassfish.grizzly.servlet.AsyncContextImpl$2
final AsyncEventType = org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType of org.glassfish.grizzly.servlet.AsyncContextImpl
private AsyncListenerContext = org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncListenerContext of org.glassfish.grizzly.servlet.AsyncContextImpl
private final AsyncPoolThreadFactory = org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncPoolThreadFactory of org.glassfish.grizzly.servlet.AsyncContextImpl
Handler = org.glassfish.grizzly.servlet.AsyncContextImpl$Handler of org.glassfish.grizzly.servlet.AsyncContextImpl