public class org.glassfish.grizzly.http.server.HttpHandlerChain extends org.glassfish.grizzly.http.server.HttpHandler implements org.glassfish.grizzly.http.server.jmxbase.JmxEventListener
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.glassfish.grizzly.http.server.HttpHandlerChain
super_class: org.glassfish.grizzly.http.server.HttpHandler
{
private static final java.util.logging.Logger LOGGER;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Map<org.glassfish.grizzly.http.server.HttpHandlerRegistration, org.glassfish.grizzly.http.server.HttpHandlerChain$PathUpdater> ROOT_URLS;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Lorg/glassfish/grizzly/http/server/HttpHandlerRegistration;Lorg/glassfish/grizzly/http/server/HttpHandlerChain$PathUpdater;>;
private final org.glassfish.grizzly.http.server.HttpHandlerChain$FullUrlPathResolver fullUrlPathResolver;
descriptor: Lorg/glassfish/grizzly/http/server/HttpHandlerChain$FullUrlPathResolver;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.ConcurrentMap<java.lang.String, org.glassfish.grizzly.http.server.HttpHandler> handlersByName;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Lorg/glassfish/grizzly/http/server/HttpHandler;>;
private final java.util.concurrent.locks.ReentrantReadWriteLock mapperUpdateLock;
descriptor: Ljava/util/concurrent/locks/ReentrantReadWriteLock;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.ConcurrentMap<org.glassfish.grizzly.http.server.HttpHandler, org.glassfish.grizzly.http.server.HttpHandlerRegistration[]> handlers;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lorg/glassfish/grizzly/http/server/HttpHandler;[Lorg/glassfish/grizzly/http/server/HttpHandlerRegistration;>;
private final java.util.concurrent.ConcurrentMap<org.glassfish.grizzly.http.server.HttpHandler, java.lang.Object> monitors;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Lorg/glassfish/grizzly/http/server/HttpHandler;Ljava/lang/Object;>;
private int handlersCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private volatile org.glassfish.grizzly.http.server.HttpHandlerChain$RootHttpHandler rootHttpHandler;
descriptor: Lorg/glassfish/grizzly/http/server/HttpHandlerChain$RootHttpHandler;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final org.glassfish.grizzly.http.server.util.Mapper mapper;
descriptor: Lorg/glassfish/grizzly/http/server/util/Mapper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.glassfish.grizzly.http.server.util.DispatcherHelper dispatchHelper;
descriptor: Lorg/glassfish/grizzly/http/server/util/DispatcherHelper;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.lang.String LOCAL_HOST;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "localhost"
private boolean started;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final org.glassfish.grizzly.http.server.HttpServer httpServer;
descriptor: Lorg/glassfish/grizzly/http/server/HttpServer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean isRootConfigured;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: ldc Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
invokestatic org.glassfish.grizzly.Grizzly.logger:(Ljava/lang/Class;)Ljava/util/logging/Logger;
putstatic org.glassfish.grizzly.http.server.HttpHandlerChain.LOGGER:Ljava/util/logging/Logger;
1: new java.util.HashMap
dup
iconst_3
invokespecial java.util.HashMap.<init>:(I)V
putstatic org.glassfish.grizzly.http.server.HttpHandlerChain.ROOT_URLS:Ljava/util/Map;
2: getstatic org.glassfish.grizzly.http.server.HttpHandlerChain.ROOT_URLS:Ljava/util/Map;
ldc ""
invokestatic org.glassfish.grizzly.http.server.HttpHandlerRegistration.fromString:(Ljava/lang/String;)Lorg/glassfish/grizzly/http/server/HttpHandlerRegistration;
new org.glassfish.grizzly.http.server.HttpHandlerChain$EmptyPathUpdater
dup
invokespecial org.glassfish.grizzly.http.server.HttpHandlerChain$EmptyPathUpdater.<init>:()V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: getstatic org.glassfish.grizzly.http.server.HttpHandlerChain.ROOT_URLS:Ljava/util/Map;
ldc "/"
invokestatic org.glassfish.grizzly.http.server.HttpHandlerRegistration.fromString:(Ljava/lang/String;)Lorg/glassfish/grizzly/http/server/HttpHandlerRegistration;
new org.glassfish.grizzly.http.server.HttpHandlerChain$SlashPathUpdater
dup
invokespecial org.glassfish.grizzly.http.server.HttpHandlerChain$SlashPathUpdater.<init>:()V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: getstatic org.glassfish.grizzly.http.server.HttpHandlerChain.ROOT_URLS:Ljava/util/Map;
ldc "/*"
invokestatic org.glassfish.grizzly.http.server.HttpHandlerRegistration.fromString:(Ljava/lang/String;)Lorg/glassfish/grizzly/http/server/HttpHandlerRegistration;
new org.glassfish.grizzly.http.server.HttpHandlerChain$SlashStarPathUpdater
dup
invokespecial org.glassfish.grizzly.http.server.HttpHandlerChain$SlashStarPathUpdater.<init>:()V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.glassfish.grizzly.http.server.HttpServer);
descriptor: (Lorg/glassfish/grizzly/http/server/HttpServer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial org.glassfish.grizzly.http.server.HttpHandler.<init>:()V
1: aload 0
new org.glassfish.grizzly.http.server.HttpHandlerChain$FullUrlPathResolver
dup
aload 0
invokespecial org.glassfish.grizzly.http.server.HttpHandlerChain$FullUrlPathResolver.<init>:(Lorg/glassfish/grizzly/http/server/HttpHandler;)V
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.fullUrlPathResolver:Lorg/glassfish/grizzly/http/server/HttpHandlerChain$FullUrlPathResolver;
2: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlersByName:Ljava/util/concurrent/ConcurrentMap;
3: aload 0
new java.util.concurrent.locks.ReentrantReadWriteLock
dup
invokespecial java.util.concurrent.locks.ReentrantReadWriteLock.<init>:()V
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
4: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlers:Ljava/util/concurrent/ConcurrentMap;
5: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.monitors:Ljava/util/concurrent/ConcurrentMap;
6: aload 0
iconst_0
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.isRootConfigured:Z
7: aload 0
aload 1
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.httpServer:Lorg/glassfish/grizzly/http/server/HttpServer;
8: aload 0
new org.glassfish.grizzly.http.server.util.Mapper
dup
invokespecial org.glassfish.grizzly.http.server.util.Mapper.<init>:()V
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapper:Lorg/glassfish/grizzly/http/server/util/Mapper;
9: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapper:Lorg/glassfish/grizzly/http/server/util/Mapper;
ldc "localhost"
invokevirtual org.glassfish.grizzly.http.server.util.Mapper.setDefaultHostName:(Ljava/lang/String;)V
10: aload 0
new org.glassfish.grizzly.http.server.HttpHandlerChain$DispatchHelperImpl
dup
aload 0
invokespecial org.glassfish.grizzly.http.server.HttpHandlerChain$DispatchHelperImpl.<init>:(Lorg/glassfish/grizzly/http/server/HttpHandlerChain;)V
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.dispatchHelper:Lorg/glassfish/grizzly/http/server/util/DispatcherHelper;
11: aload 0
iconst_0
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerChain.setDecodeUrl:(Z)V
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
0 13 1 httpServer Lorg/glassfish/grizzly/http/server/HttpServer;
MethodParameters:
Name Flags
httpServer final
public void jmxEnabled();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock:()V
1: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlers:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.http.server.HttpHandler
astore 1
start local 1 3: aload 1
instanceof org.glassfish.grizzly.http.server.jmxbase.Monitorable
ifeq 5
4: aload 0
aload 1
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerChain.registerJmxForHandler:(Lorg/glassfish/grizzly/http/server/HttpHandler;)V
end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: goto 10
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain
StackMap stack: java.lang.Throwable
7: astore 3
8: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
9: aload 3
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
3 5 1 httpHandler Lorg/glassfish/grizzly/http/server/HttpHandler;
Exception table:
from to target type
1 7 7 any
public void jmxDisabled();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock:()V
1: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlers:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 5
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.http.server.HttpHandler
astore 1
start local 1 3: aload 1
instanceof org.glassfish.grizzly.http.server.jmxbase.Monitorable
ifeq 5
4: aload 0
aload 1
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerChain.deregisterJmxForHandler:(Lorg/glassfish/grizzly/http/server/HttpHandler;)V
end local 1 5: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
6: goto 10
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain
StackMap stack: java.lang.Throwable
7: astore 3
8: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
9: aload 3
athrow
10: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
3 5 1 httpHandler Lorg/glassfish/grizzly/http/server/HttpHandler;
Exception table:
from to target type
1 7 7 any
boolean doHandle(org.glassfish.grizzly.http.server.Request, org.glassfish.grizzly.http.server.Response);
descriptor: (Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/server/Response;)Z
flags: (0x0000)
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
aload 1
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerChain.getErrorPageGenerator:(Lorg/glassfish/grizzly/http/server/Request;)Lorg/glassfish/grizzly/http/server/ErrorPageGenerator;
invokevirtual org.glassfish.grizzly.http.server.Response.setErrorPageGenerator:(Lorg/glassfish/grizzly/http/server/ErrorPageGenerator;)V
1: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.rootHttpHandler:Lorg/glassfish/grizzly/http/server/HttpHandlerChain$RootHttpHandler;
astore 3
start local 3 2: aload 3
ifnull 7
3: aload 3
getfield org.glassfish.grizzly.http.server.HttpHandlerChain$RootHttpHandler.httpHandler:Lorg/glassfish/grizzly/http/server/HttpHandler;
astore 4
start local 4 4: aload 3
getfield org.glassfish.grizzly.http.server.HttpHandlerChain$RootHttpHandler.pathUpdater:Lorg/glassfish/grizzly/http/server/HttpHandlerChain$PathUpdater;
aload 0
aload 4
aload 1
invokeinterface org.glassfish.grizzly.http.server.HttpHandlerChain$PathUpdater.update:(Lorg/glassfish/grizzly/http/server/HttpHandlerChain;Lorg/glassfish/grizzly/http/server/HttpHandler;Lorg/glassfish/grizzly/http/server/Request;)V
5: aload 4
aload 1
aload 2
invokevirtual org.glassfish.grizzly.http.server.HttpHandler.doHandle:(Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/server/Response;)Z
6: ireturn
end local 4 7: StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain$RootHttpHandler
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.http.server.Request.getRequest:()Lorg/glassfish/grizzly/http/HttpRequestPacket;
invokevirtual org.glassfish.grizzly.http.HttpRequestPacket.getRequestURIRef:()Lorg/glassfish/grizzly/http/util/RequestURIRef;
astore 4
start local 4 8: aload 4
aload 0
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerChain.getRequestURIEncoding:()Ljava/nio/charset/Charset;
invokevirtual org.glassfish.grizzly.http.util.RequestURIRef.setDefaultURIEncoding:(Ljava/nio/charset/Charset;)V
9: aload 4
aload 0
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerChain.isAllowEncodedSlash:()Z
invokevirtual org.glassfish.grizzly.http.util.RequestURIRef.getDecodedRequestURIBC:(Z)Lorg/glassfish/grizzly/http/util/DataChunk;
astore 5
start local 5 10: aload 1
invokevirtual org.glassfish.grizzly.http.server.Request.obtainMappingData:()Lorg/glassfish/grizzly/http/server/util/MappingData;
astore 6
start local 6 11: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapper:Lorg/glassfish/grizzly/http/server/util/Mapper;
aload 1
invokevirtual org.glassfish.grizzly.http.server.Request.getRequest:()Lorg/glassfish/grizzly/http/HttpRequestPacket;
aload 5
aload 6
iconst_0
invokevirtual org.glassfish.grizzly.http.server.util.Mapper.mapUriWithSemicolon:(Lorg/glassfish/grizzly/http/HttpRequestPacket;Lorg/glassfish/grizzly/http/util/DataChunk;Lorg/glassfish/grizzly/http/server/util/MappingData;I)V
12: aload 6
getfield org.glassfish.grizzly.http.server.util.MappingData.context:Ljava/lang/Object;
ifnull 20
aload 6
getfield org.glassfish.grizzly.http.server.util.MappingData.context:Ljava/lang/Object;
instanceof org.glassfish.grizzly.http.server.HttpHandler
ifeq 20
13: aload 6
getfield org.glassfish.grizzly.http.server.util.MappingData.wrapper:Ljava/lang/Object;
ifnull 16
14: aload 6
getfield org.glassfish.grizzly.http.server.util.MappingData.wrapper:Ljava/lang/Object;
checkcast org.glassfish.grizzly.http.server.HttpHandler
astore 7
start local 7 15: goto 17
end local 7 16: StackMap locals: org.glassfish.grizzly.http.util.RequestURIRef org.glassfish.grizzly.http.util.DataChunk org.glassfish.grizzly.http.server.util.MappingData
StackMap stack:
aload 6
getfield org.glassfish.grizzly.http.server.util.MappingData.context:Ljava/lang/Object;
checkcast org.glassfish.grizzly.http.server.HttpHandler
astore 7
start local 7 17: StackMap locals: org.glassfish.grizzly.http.server.HttpHandler
StackMap stack:
aload 1
aload 6
invokestatic org.glassfish.grizzly.http.server.HttpHandlerChain.updatePaths:(Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/server/util/MappingData;)V
18: aload 7
aload 1
aload 2
invokevirtual org.glassfish.grizzly.http.server.HttpHandler.doHandle:(Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/server/Response;)Z
19: ireturn
end local 7 20: StackMap locals:
StackMap stack:
aload 2
sipush 404
invokevirtual org.glassfish.grizzly.http.server.Response.sendError:(I)V
end local 6 end local 5 end local 4 end local 3 21: goto 30
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain org.glassfish.grizzly.http.server.Request org.glassfish.grizzly.http.server.Response
StackMap stack: java.lang.Exception
22: astore 3
start local 3 23: aload 2
getstatic org.glassfish.grizzly.http.util.HttpStatus.INTERNAL_SERVER_ERROR_500:Lorg/glassfish/grizzly/http/util/HttpStatus;
invokevirtual org.glassfish.grizzly.http.server.Response.setStatus:(Lorg/glassfish/grizzly/http/util/HttpStatus;)V
24: getstatic org.glassfish.grizzly.http.server.HttpHandlerChain.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 30
25: getstatic org.glassfish.grizzly.http.server.HttpHandlerChain.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.FINE:Ljava/util/logging/Level;
ldc "Internal server error"
aload 3
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
26: goto 30
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain org.glassfish.grizzly.http.server.Request org.glassfish.grizzly.http.server.Response java.lang.Exception
StackMap stack: java.lang.Exception
27: astore 4
start local 4 28: getstatic org.glassfish.grizzly.http.server.HttpHandlerChain.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
invokevirtual java.util.logging.Logger.isLoggable:(Ljava/util/logging/Level;)Z
ifeq 30
29: getstatic org.glassfish.grizzly.http.server.HttpHandlerChain.LOGGER:Ljava/util/logging/Logger;
getstatic java.util.logging.Level.WARNING:Ljava/util/logging/Level;
invokestatic org.glassfish.grizzly.localization.LogMessages.WARNING_GRIZZLY_HTTP_SERVER_HTTPHANDLERCHAIN_ERRORPAGE:()Ljava/lang/String;
aload 4
invokevirtual java.util.logging.Logger.log:(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 end local 3 30: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
0 31 1 request Lorg/glassfish/grizzly/http/server/Request;
0 31 2 response Lorg/glassfish/grizzly/http/server/Response;
2 21 3 rootHttpHandlerLocal Lorg/glassfish/grizzly/http/server/HttpHandlerChain$RootHttpHandler;
4 7 4 rh Lorg/glassfish/grizzly/http/server/HttpHandler;
8 21 4 uriRef Lorg/glassfish/grizzly/http/util/RequestURIRef;
10 21 5 decodedURI Lorg/glassfish/grizzly/http/util/DataChunk;
11 21 6 mappingData Lorg/glassfish/grizzly/http/server/util/MappingData;
15 16 7 httpHandler Lorg/glassfish/grizzly/http/server/HttpHandler;
17 20 7 httpHandler Lorg/glassfish/grizzly/http/server/HttpHandler;
23 30 3 t Ljava/lang/Exception;
28 30 4 ex2 Ljava/lang/Exception;
Exception table:
from to target type
1 6 22 Class java.lang.Exception
7 19 22 Class java.lang.Exception
20 21 22 Class java.lang.Exception
23 26 27 Class java.lang.Exception
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
request final
response final
public void service(org.glassfish.grizzly.http.server.Request, org.glassfish.grizzly.http.server.Response);
descriptor: (Lorg/glassfish/grizzly/http/server/Request;Lorg/glassfish/grizzly/http/server/Response;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.IllegalStateException
dup
ldc "Method doesn't have to be called"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
0 1 1 request Lorg/glassfish/grizzly/http/server/Request;
0 1 2 response Lorg/glassfish/grizzly/http/server/Response;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
request final
response final
public void addHandler(org.glassfish.grizzly.http.server.HttpHandler, java.lang.String[]);
descriptor: (Lorg/glassfish/grizzly/http/server/HttpHandler;[Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=3, args_size=3
start local 0 start local 1 start local 2 0: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
0 1 1 httpHandler Lorg/glassfish/grizzly/http/server/HttpHandler;
0 1 2 mappings [Ljava/lang/String;
MethodParameters:
Name Flags
httpHandler final
mappings final
public void addHandler(org.glassfish.grizzly.http.server.HttpHandler, org.glassfish.grizzly.http.server.HttpHandlerRegistration[]);
descriptor: (Lorg/glassfish/grizzly/http/server/HttpHandler;[Lorg/glassfish/grizzly/http/server/HttpHandlerRegistration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
1: aload 2
arraylength
ifne 4
2: aload 0
aload 1
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc ""
aastore
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerChain.addHandler:(Lorg/glassfish/grizzly/http/server/HttpHandler;[Ljava/lang/String;)V
3: goto 38
4: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.started:Z
ifeq 8
5: aload 1
invokevirtual org.glassfish.grizzly.http.server.HttpHandler.start:()V
6: aload 1
instanceof org.glassfish.grizzly.http.server.jmxbase.Monitorable
ifeq 8
7: aload 0
aload 1
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerChain.registerJmxForHandler:(Lorg/glassfish/grizzly/http/server/HttpHandler;)V
8: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlers:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 10
9: aload 0
dup
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlersCount:I
iconst_1
iadd
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlersCount:I
10: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.glassfish.grizzly.http.server.HttpHandler.getName:()Ljava/lang/String;
astore 3
start local 3 11: aload 3
ifnull 13
12: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlersByName:Ljava/util/concurrent/ConcurrentMap;
aload 3
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.dispatchHelper:Lorg/glassfish/grizzly/http/server/util/DispatcherHelper;
invokevirtual org.glassfish.grizzly.http.server.HttpHandler.setDispatcherHelper:(Lorg/glassfish/grizzly/http/server/util/DispatcherHelper;)V
14: aload 2
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 29
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain org.glassfish.grizzly.http.server.HttpHandler org.glassfish.grizzly.http.server.HttpHandlerRegistration[] java.lang.String top int int org.glassfish.grizzly.http.server.HttpHandlerRegistration[]
StackMap stack:
15: aload 7
iload 5
aaload
astore 4
start local 4 16: aload 4
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerRegistration.getContextPath:()Ljava/lang/String;
astore 8
start local 8 17: aload 4
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerRegistration.getUrlPattern:()Ljava/lang/String;
astore 9
start local 9 18: aload 8
invokevirtual java.lang.String.length:()I
ifeq 21
19: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapper:Lorg/glassfish/grizzly/http/server/util/Mapper;
ldc "localhost"
aload 8
aload 1
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "index.html"
aastore
dup
iconst_1
ldc "index.htm"
aastore
aconst_null
invokevirtual org.glassfish.grizzly.http.server.util.Mapper.addContext:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/String;Lorg/glassfish/grizzly/http/server/naming/NamingContext;)V
20: goto 27
21: StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain org.glassfish.grizzly.http.server.HttpHandler org.glassfish.grizzly.http.server.HttpHandlerRegistration[] java.lang.String org.glassfish.grizzly.http.server.HttpHandlerRegistration int int org.glassfish.grizzly.http.server.HttpHandlerRegistration[] java.lang.String java.lang.String
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.isRootConfigured:Z
ifne 26
aload 9
ldc "*."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 26
22: aload 0
iconst_1
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.isRootConfigured:Z
23: new org.glassfish.grizzly.http.server.HttpHandlerChain$1
dup
aload 0
invokespecial org.glassfish.grizzly.http.server.HttpHandlerChain$1.<init>:(Lorg/glassfish/grizzly/http/server/HttpHandlerChain;)V
astore 10
start local 10 24: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapper:Lorg/glassfish/grizzly/http/server/util/Mapper;
ldc "localhost"
aload 8
aload 10
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "index.html"
aastore
dup
iconst_1
ldc "index.htm"
aastore
aconst_null
invokevirtual org.glassfish.grizzly.http.server.util.Mapper.addContext:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/String;Lorg/glassfish/grizzly/http/server/naming/NamingContext;)V
end local 10 25: goto 27
26: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapper:Lorg/glassfish/grizzly/http/server/util/Mapper;
ldc "localhost"
aload 8
aload 1
iconst_2
anewarray java.lang.String
dup
iconst_0
ldc "index.html"
aastore
dup
iconst_1
ldc "index.htm"
aastore
aconst_null
invokevirtual org.glassfish.grizzly.http.server.util.Mapper.addContext:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;[Ljava/lang/String;Lorg/glassfish/grizzly/http/server/naming/NamingContext;)V
27: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapper:Lorg/glassfish/grizzly/http/server/util/Mapper;
ldc "localhost"
aload 8
aload 9
aload 1
invokevirtual org.glassfish.grizzly.http.server.util.Mapper.addWrapper:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
end local 9 end local 8 end local 4 28: iinc 5 1
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain org.glassfish.grizzly.http.server.HttpHandler org.glassfish.grizzly.http.server.HttpHandlerRegistration[] java.lang.String top int int org.glassfish.grizzly.http.server.HttpHandlerRegistration[]
StackMap stack:
29: iload 5
iload 6
if_icmplt 15
30: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlersCount:I
iconst_1
if_icmpne 33
aload 2
arraylength
iconst_1
if_icmpne 33
getstatic org.glassfish.grizzly.http.server.HttpHandlerChain.ROOT_URLS:Ljava/util/Map;
aload 2
iconst_0
aaload
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 33
31: aload 0
new org.glassfish.grizzly.http.server.HttpHandlerChain$RootHttpHandler
dup
aload 1
getstatic org.glassfish.grizzly.http.server.HttpHandlerChain.ROOT_URLS:Ljava/util/Map;
aload 2
iconst_0
aaload
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.glassfish.grizzly.http.server.HttpHandlerChain$PathUpdater
invokespecial org.glassfish.grizzly.http.server.HttpHandlerChain$RootHttpHandler.<init>:(Lorg/glassfish/grizzly/http/server/HttpHandler;Lorg/glassfish/grizzly/http/server/HttpHandlerChain$PathUpdater;)V
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.rootHttpHandler:Lorg/glassfish/grizzly/http/server/HttpHandlerChain$RootHttpHandler;
32: goto 38
33: StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain org.glassfish.grizzly.http.server.HttpHandler org.glassfish.grizzly.http.server.HttpHandlerRegistration[] java.lang.String
StackMap stack:
aload 0
aconst_null
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.rootHttpHandler:Lorg/glassfish/grizzly/http/server/HttpHandlerChain$RootHttpHandler;
end local 3 34: goto 38
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain org.glassfish.grizzly.http.server.HttpHandler org.glassfish.grizzly.http.server.HttpHandlerRegistration[]
StackMap stack: java.lang.Throwable
35: astore 11
36: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
37: aload 11
athrow
38: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
39: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
0 40 1 httpHandler Lorg/glassfish/grizzly/http/server/HttpHandler;
0 40 2 mappings [Lorg/glassfish/grizzly/http/server/HttpHandlerRegistration;
11 34 3 name Ljava/lang/String;
16 28 4 reg Lorg/glassfish/grizzly/http/server/HttpHandlerRegistration;
17 28 8 ctx Ljava/lang/String;
18 28 9 wrapper Ljava/lang/String;
24 25 10 a Lorg/glassfish/grizzly/http/server/HttpHandler;
Exception table:
from to target type
1 35 35 any
MethodParameters:
Name Flags
httpHandler final
mappings final
public boolean removeHttpHandler(org.glassfish.grizzly.http.server.HttpHandler);
descriptor: (Lorg/glassfish/grizzly/http/server/HttpHandler;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalStateException
dup
invokespecial java.lang.IllegalStateException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
3: aload 1
invokevirtual org.glassfish.grizzly.http.server.HttpHandler.getName:()Ljava/lang/String;
astore 2
start local 2 4: aload 2
ifnull 6
5: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlersByName:Ljava/util/concurrent/ConcurrentMap;
aload 2
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
6: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlers:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.glassfish.grizzly.http.server.HttpHandlerRegistration[]
astore 3
start local 3 7: aload 3
ifnull 28
8: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 15
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain org.glassfish.grizzly.http.server.HttpHandler java.lang.String org.glassfish.grizzly.http.server.HttpHandlerRegistration[] top int int org.glassfish.grizzly.http.server.HttpHandlerRegistration[]
StackMap stack:
9: aload 7
iload 5
aaload
astore 4
start local 4 10: aload 4
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerRegistration.getContextPath:()Ljava/lang/String;
astore 8
start local 8 11: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapper:Lorg/glassfish/grizzly/http/server/util/Mapper;
ldc "localhost"
aload 8
aload 4
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerRegistration.getUrlPattern:()Ljava/lang/String;
invokevirtual org.glassfish.grizzly.http.server.util.Mapper.removeWrapper:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
12: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapper:Lorg/glassfish/grizzly/http/server/util/Mapper;
ldc "localhost"
aload 2
invokevirtual org.glassfish.grizzly.http.server.util.Mapper.getWrapperNames:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
arraylength
ifne 14
13: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapper:Lorg/glassfish/grizzly/http/server/util/Mapper;
ldc "localhost"
aload 8
invokevirtual org.glassfish.grizzly.http.server.util.Mapper.removeContext:(Ljava/lang/String;Ljava/lang/String;)V
end local 8 end local 4 14: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 6
if_icmplt 9
16: aload 0
aload 1
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerChain.deregisterJmxForHandler:(Lorg/glassfish/grizzly/http/server/HttpHandler;)V
17: aload 1
invokevirtual org.glassfish.grizzly.http.server.HttpHandler.destroy:()V
18: aload 0
dup
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlersCount:I
iconst_1
isub
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlersCount:I
19: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlersCount:I
iconst_1
if_icmpne 27
20: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlers:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 4
start local 4 21: aload 4
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.http.server.HttpHandlerRegistration[]
astore 5
start local 5 22: aload 5
arraylength
iconst_1
if_icmpne 25
getstatic org.glassfish.grizzly.http.server.HttpHandlerChain.ROOT_URLS:Ljava/util/Map;
aload 5
iconst_0
aaload
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 25
23: aload 0
new org.glassfish.grizzly.http.server.HttpHandlerChain$RootHttpHandler
dup
aload 1
getstatic org.glassfish.grizzly.http.server.HttpHandlerChain.ROOT_URLS:Ljava/util/Map;
aload 5
iconst_0
aaload
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.glassfish.grizzly.http.server.HttpHandlerChain$PathUpdater
invokespecial org.glassfish.grizzly.http.server.HttpHandlerChain$RootHttpHandler.<init>:(Lorg/glassfish/grizzly/http/server/HttpHandler;Lorg/glassfish/grizzly/http/server/HttpHandlerChain$PathUpdater;)V
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.rootHttpHandler:Lorg/glassfish/grizzly/http/server/HttpHandlerChain$RootHttpHandler;
24: goto 28
25: StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain org.glassfish.grizzly.http.server.HttpHandler java.lang.String org.glassfish.grizzly.http.server.HttpHandlerRegistration[] java.util.Map$Entry org.glassfish.grizzly.http.server.HttpHandlerRegistration[]
StackMap stack:
aload 0
aconst_null
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.rootHttpHandler:Lorg/glassfish/grizzly/http/server/HttpHandlerChain$RootHttpHandler;
end local 5 end local 4 26: goto 28
27: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.rootHttpHandler:Lorg/glassfish/grizzly/http/server/HttpHandlerChain$RootHttpHandler;
28: StackMap locals:
StackMap stack:
aload 3
ifnull 29
iconst_1
goto 30
StackMap locals:
StackMap stack:
29: iconst_0
StackMap locals:
StackMap stack: int
30: istore 10
31: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
32: iload 10
ireturn
end local 3 end local 2 33: StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain org.glassfish.grizzly.http.server.HttpHandler
StackMap stack: java.lang.Throwable
astore 9
34: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
35: aload 9
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
0 36 1 httpHandler Lorg/glassfish/grizzly/http/server/HttpHandler;
4 33 2 name Ljava/lang/String;
7 33 3 mappings [Lorg/glassfish/grizzly/http/server/HttpHandlerRegistration;
10 14 4 mapping Lorg/glassfish/grizzly/http/server/HttpHandlerRegistration;
11 14 8 contextPath Ljava/lang/String;
21 26 4 entry Ljava/util/Map$Entry<Lorg/glassfish/grizzly/http/server/HttpHandler;[Lorg/glassfish/grizzly/http/server/HttpHandlerRegistration;>;
22 26 5 lastHttpHandlerMappings [Lorg/glassfish/grizzly/http/server/HttpHandlerRegistration;
Exception table:
from to target type
3 31 33 any
MethodParameters:
Name Flags
httpHandler final
public void removeAllHttpHandlers();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
1: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlers:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.http.server.HttpHandler
astore 1
start local 1 3: aload 0
aload 1
invokevirtual org.glassfish.grizzly.http.server.HttpHandlerChain.removeHttpHandler:(Lorg/glassfish/grizzly/http/server/HttpHandler;)Z
pop
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: goto 9
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain
StackMap stack: java.lang.Throwable
6: astore 3
7: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
8: aload 3
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
3 4 1 handler Lorg/glassfish/grizzly/http/server/HttpHandler;
Exception table:
from to target type
1 6 6 any
public synchronized void start();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock:()V
1: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlers:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.http.server.HttpHandler
astore 1
start local 1 3: aload 1
invokevirtual org.glassfish.grizzly.http.server.HttpHandler.start:()V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: goto 9
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain
StackMap stack: java.lang.Throwable
6: astore 3
7: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
8: aload 3
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.readLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.unlock:()V
10: aload 0
iconst_1
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.started:Z
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
3 4 1 httpHandler Lorg/glassfish/grizzly/http/server/HttpHandler;
Exception table:
from to target type
1 6 6 any
public synchronized void destroy();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock:()V
1: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.handlers:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.glassfish.grizzly.http.server.HttpHandler
astore 1
start local 1 3: aload 1
invokevirtual org.glassfish.grizzly.http.server.HttpHandler.destroy:()V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: goto 9
StackMap locals: org.glassfish.grizzly.http.server.HttpHandlerChain
StackMap stack: java.lang.Throwable
6: astore 3
7: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
8: aload 3
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.mapperUpdateLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock.writeLock:()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
invokevirtual java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.unlock:()V
10: aload 0
iconst_0
putfield org.glassfish.grizzly.http.server.HttpHandlerChain.started:Z
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
3 4 1 httpHandler Lorg/glassfish/grizzly/http/server/HttpHandler;
Exception table:
from to target type
1 6 6 any
private void registerJmxForHandler(org.glassfish.grizzly.http.server.HttpHandler);
descriptor: (Lorg/glassfish/grizzly/http/server/HttpHandler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast org.glassfish.grizzly.http.server.jmxbase.Monitorable
astore 2
start local 2 1: aload 2
invokeinterface org.glassfish.grizzly.http.server.jmxbase.Monitorable.createManagementObject:()Ljava/lang/Object;
astore 3
start local 3 2: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.monitors:Ljava/util/concurrent/ConcurrentMap;
aload 1
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 4
3: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.httpServer:Lorg/glassfish/grizzly/http/server/HttpServer;
getfield org.glassfish.grizzly.http.server.HttpServer.jmxManager:Lorg/glassfish/grizzly/jmxbase/GrizzlyJmxManager;
aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.httpServer:Lorg/glassfish/grizzly/http/server/HttpServer;
getfield org.glassfish.grizzly.http.server.HttpServer.managementObject:Ljava/lang/Object;
aload 3
invokevirtual org.glassfish.grizzly.jmxbase.GrizzlyJmxManager.register:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: org.glassfish.grizzly.http.server.jmxbase.Monitorable java.lang.Object
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
0 5 1 httpHandler Lorg/glassfish/grizzly/http/server/HttpHandler;
1 5 2 monitorable Lorg/glassfish/grizzly/http/server/jmxbase/Monitorable;
2 5 3 jmx Ljava/lang/Object;
MethodParameters:
Name Flags
httpHandler final
private void deregisterJmxForHandler(org.glassfish.grizzly.http.server.HttpHandler);
descriptor: (Lorg/glassfish/grizzly/http/server/HttpHandler;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.monitors:Ljava/util/concurrent/ConcurrentMap;
aload 1
invokeinterface java.util.concurrent.ConcurrentMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 0
getfield org.glassfish.grizzly.http.server.HttpHandlerChain.httpServer:Lorg/glassfish/grizzly/http/server/HttpServer;
getfield org.glassfish.grizzly.http.server.HttpServer.jmxManager:Lorg/glassfish/grizzly/jmxbase/GrizzlyJmxManager;
aload 2
invokevirtual org.glassfish.grizzly.jmxbase.GrizzlyJmxManager.deregister:(Ljava/lang/Object;)V
3: StackMap locals: java.lang.Object
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/glassfish/grizzly/http/server/HttpHandlerChain;
0 4 1 httpHandler Lorg/glassfish/grizzly/http/server/HttpHandler;
1 4 2 jmx Ljava/lang/Object;
MethodParameters:
Name Flags
httpHandler final
}
SourceFile: "HttpHandlerChain.java"
NestMembers:
org.glassfish.grizzly.http.server.HttpHandlerChain$1 org.glassfish.grizzly.http.server.HttpHandlerChain$DispatchHelperImpl org.glassfish.grizzly.http.server.HttpHandlerChain$EmptyPathUpdater org.glassfish.grizzly.http.server.HttpHandlerChain$FullUrlPathResolver org.glassfish.grizzly.http.server.HttpHandlerChain$PathUpdater org.glassfish.grizzly.http.server.HttpHandlerChain$RootHttpHandler org.glassfish.grizzly.http.server.HttpHandlerChain$SlashPathUpdater org.glassfish.grizzly.http.server.HttpHandlerChain$SlashStarPathUpdater
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public ReadLock = java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock of java.util.concurrent.locks.ReentrantReadWriteLock
public WriteLock = java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock of java.util.concurrent.locks.ReentrantReadWriteLock
org.glassfish.grizzly.http.server.HttpHandlerChain$1
private final DispatchHelperImpl = org.glassfish.grizzly.http.server.HttpHandlerChain$DispatchHelperImpl of org.glassfish.grizzly.http.server.HttpHandlerChain
private EmptyPathUpdater = org.glassfish.grizzly.http.server.HttpHandlerChain$EmptyPathUpdater of org.glassfish.grizzly.http.server.HttpHandlerChain
private FullUrlPathResolver = org.glassfish.grizzly.http.server.HttpHandlerChain$FullUrlPathResolver of org.glassfish.grizzly.http.server.HttpHandlerChain
private abstract PathUpdater = org.glassfish.grizzly.http.server.HttpHandlerChain$PathUpdater of org.glassfish.grizzly.http.server.HttpHandlerChain
private final RootHttpHandler = org.glassfish.grizzly.http.server.HttpHandlerChain$RootHttpHandler of org.glassfish.grizzly.http.server.HttpHandlerChain
private SlashPathUpdater = org.glassfish.grizzly.http.server.HttpHandlerChain$SlashPathUpdater of org.glassfish.grizzly.http.server.HttpHandlerChain
private SlashStarPathUpdater = org.glassfish.grizzly.http.server.HttpHandlerChain$SlashStarPathUpdater of org.glassfish.grizzly.http.server.HttpHandlerChain