class org.glassfish.grizzly.servlet.AsyncContextImpl$Handler implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.glassfish.grizzly.servlet.AsyncContextImpl$Handler
super_class: java.lang.Object
{
private final org.glassfish.grizzly.servlet.AsyncContextImpl asyncContext;
descriptor: Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.glassfish.grizzly.servlet.ApplicationDispatcher dispatcher;
descriptor: Lorg/glassfish/grizzly/servlet/ApplicationDispatcher;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.glassfish.grizzly.servlet.HttpServletRequestImpl origRequest;
descriptor: Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(org.glassfish.grizzly.servlet.AsyncContextImpl, org.glassfish.grizzly.servlet.ApplicationDispatcher, org.glassfish.grizzly.servlet.HttpServletRequestImpl);
descriptor: (Lorg/glassfish/grizzly/servlet/AsyncContextImpl;Lorg/glassfish/grizzly/servlet/ApplicationDispatcher;Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 // org.glassfish.grizzly.servlet.AsyncContextImpl$Handler this
start local 1 // org.glassfish.grizzly.servlet.AsyncContextImpl asyncContext
start local 2 // org.glassfish.grizzly.servlet.ApplicationDispatcher dispatcher
start local 3 // org.glassfish.grizzly.servlet.HttpServletRequestImpl origRequest
0: .line 372
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 373
aload 0 /* this */
aload 1 /* asyncContext */
putfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.asyncContext:Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
2: .line 374
aload 0 /* this */
aload 2 /* dispatcher */
putfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.dispatcher:Lorg/glassfish/grizzly/servlet/ApplicationDispatcher;
3: .line 375
aload 0 /* this */
aload 3 /* origRequest */
putfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.origRequest:Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
4: .line 376
return
end local 3 // org.glassfish.grizzly.servlet.HttpServletRequestImpl origRequest
end local 2 // org.glassfish.grizzly.servlet.ApplicationDispatcher dispatcher
end local 1 // org.glassfish.grizzly.servlet.AsyncContextImpl asyncContext
end local 0 // org.glassfish.grizzly.servlet.AsyncContextImpl$Handler this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl$Handler;
0 5 1 asyncContext Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
0 5 2 dispatcher Lorg/glassfish/grizzly/servlet/ApplicationDispatcher;
0 5 3 origRequest Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
MethodParameters:
Name Flags
asyncContext
dispatcher
origRequest
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 // org.glassfish.grizzly.servlet.AsyncContextImpl$Handler this
0: .line 380
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.asyncContext:Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isStartAsyncInScope:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: .line 381
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.origRequest:Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
ldc "org.apache.catalina.core.DISPATCHER_TYPE"
getstatic jakarta.servlet.DispatcherType.ASYNC:Ljakarta/servlet/DispatcherType;
invokevirtual org.glassfish.grizzly.servlet.HttpServletRequestImpl.setAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
2: .line 382
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.origRequest:Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
iconst_0
invokevirtual org.glassfish.grizzly.servlet.HttpServletRequestImpl.setAsyncStarted:(Z)V
3: .line 383
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.asyncContext:Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.startAsyncCounter:Ljava/util/concurrent/atomic/AtomicInteger;
invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
istore 1 /* startAsyncCurrent */
start local 1 // int startAsyncCurrent
4: .line 385
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.dispatcher:Lorg/glassfish/grizzly/servlet/ApplicationDispatcher;
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.asyncContext:Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl.getRequest:()Ljakarta/servlet/ServletRequest;
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.asyncContext:Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl.getResponse:()Ljakarta/servlet/ServletResponse;
getstatic jakarta.servlet.DispatcherType.ASYNC:Ljakarta/servlet/DispatcherType;
invokevirtual org.glassfish.grizzly.servlet.ApplicationDispatcher.dispatch:(Ljakarta/servlet/ServletRequest;Ljakarta/servlet/ServletResponse;Ljakarta/servlet/DispatcherType;)V
5: .line 391
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.asyncContext:Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.startAsyncCounter:Ljava/util/concurrent/atomic/AtomicInteger;
iload 1 /* startAsyncCurrent */
iload 1 /* startAsyncCurrent */
invokevirtual java.util.concurrent.atomic.AtomicInteger.compareAndSet:(II)Z
ifeq 8
6: .line 392
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.asyncContext:Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl.complete:()V
7: .line 393
goto 17
8: .line 395
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.origRequest:Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.asyncContext:Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl.getTimeout:()J
invokevirtual org.glassfish.grizzly.servlet.HttpServletRequestImpl.setAsyncTimeout:(J)V
9: .line 397
goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 2 /* t */
start local 2 // java.lang.Throwable t
11: .line 398
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.asyncContext:Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
getstatic org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType.ERROR:Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncEventType;
aload 2 /* t */
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl.notifyAsyncListeners:(Lorg/glassfish/grizzly/servlet/AsyncContextImpl$AsyncEventType;Ljava/lang/Throwable;)V
12: .line 399
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.asyncContext:Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
invokevirtual org.glassfish.grizzly.servlet.AsyncContextImpl.getOriginalRequest:()Lorg/glassfish/grizzly/servlet/HttpServletRequestImpl;
aload 2 /* t */
invokevirtual org.glassfish.grizzly.servlet.HttpServletRequestImpl.errorDispatchAndComplete:(Ljava/lang/Throwable;)V
end local 2 // java.lang.Throwable t
13: .line 401
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.asyncContext:Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isStartAsyncInScope:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
goto 18
14: .line 400
StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
15: .line 401
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.asyncContext:Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isStartAsyncInScope:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
16: .line 402
aload 3
athrow
17: .line 401
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.glassfish.grizzly.servlet.AsyncContextImpl$Handler.asyncContext:Lorg/glassfish/grizzly/servlet/AsyncContextImpl;
getfield org.glassfish.grizzly.servlet.AsyncContextImpl.isStartAsyncInScope:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
18: .line 403
StackMap locals:
StackMap stack:
return
end local 1 // int startAsyncCurrent
end local 0 // org.glassfish.grizzly.servlet.AsyncContextImpl$Handler this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/glassfish/grizzly/servlet/AsyncContextImpl$Handler;
4 19 1 startAsyncCurrent I
11 13 2 t Ljava/lang/Throwable;
Exception table:
from to target type
4 9 10 Class java.lang.Throwable
4 13 14 any
}
SourceFile: "AsyncContextImpl.java"
NestHost: org.glassfish.grizzly.servlet.AsyncContextImpl
InnerClasses:
final AsyncEventType = org.glassfish.grizzly.servlet.AsyncContextImpl$AsyncEventType of org.glassfish.grizzly.servlet.AsyncContextImpl
Handler = org.glassfish.grizzly.servlet.AsyncContextImpl$Handler of org.glassfish.grizzly.servlet.AsyncContextImpl