final class com.sun.xml.internal.ws.transport.http.server.ServerMgr
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.xml.internal.ws.transport.http.server.ServerMgr
super_class: java.lang.Object
{
private static final com.sun.xml.internal.ws.transport.http.server.ServerMgr serverMgr;
descriptor: Lcom/sun/xml/internal/ws/transport/http/server/ServerMgr;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.logging.Logger LOGGER;
descriptor: Ljava/util/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.util.Map<java.net.InetSocketAddress, com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState> servers;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/net/InetSocketAddress;Lcom/sun/xml/internal/ws/transport/http/server/ServerMgr$ServerState;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new com.sun.xml.internal.ws.transport.http.server.ServerMgr
dup
invokespecial com.sun.xml.internal.ws.transport.http.server.ServerMgr.<init>:()V
putstatic com.sun.xml.internal.ws.transport.http.server.ServerMgr.serverMgr:Lcom/sun/xml/internal/ws/transport/http/server/ServerMgr;
1: ldc "com.sun.xml.internal.ws.server.http"
2: invokestatic java.util.logging.Logger.getLogger:(Ljava/lang/String;)Ljava/util/logging/Logger;
3: putstatic com.sun.xml.internal.ws.transport.http.server.ServerMgr.LOGGER:Ljava/util/logging/Logger;
4: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.xml.internal.ws.transport.http.server.ServerMgr.servers:Ljava/util/Map;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/xml/internal/ws/transport/http/server/ServerMgr;
static com.sun.xml.internal.ws.transport.http.server.ServerMgr getInstance();
descriptor: ()Lcom/sun/xml/internal/ws/transport/http/server/ServerMgr;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.sun.xml.internal.ws.transport.http.server.ServerMgr.serverMgr:Lcom/sun/xml/internal/ws/transport/http/server/ServerMgr;
areturn
LocalVariableTable:
Start End Slot Name Signature
com.sun.net.httpserver.HttpContext createContext(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/net/httpserver/HttpContext;
flags: (0x0000)
Code:
stack=7, locals=11, args_size=2
start local 0 start local 1 0: new java.net.URL
dup
aload 1
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 4
start local 4 1: aload 4
invokevirtual java.net.URL.getPort:()I
istore 5
start local 5 2: iload 5
iconst_m1
if_icmpne 4
3: aload 4
invokevirtual java.net.URL.getDefaultPort:()I
istore 5
4: StackMap locals: com.sun.xml.internal.ws.transport.http.server.ServerMgr java.lang.String top top java.net.URL int
StackMap stack:
new java.net.InetSocketAddress
dup
aload 4
invokevirtual java.net.URL.getHost:()Ljava/lang/String;
5: iload 5
6: invokespecial java.net.InetSocketAddress.<init>:(Ljava/lang/String;I)V
astore 6
start local 6 7: aload 0
getfield com.sun.xml.internal.ws.transport.http.server.ServerMgr.servers:Ljava/util/Map;
dup
astore 7
monitorenter
8: aload 0
getfield com.sun.xml.internal.ws.transport.http.server.ServerMgr.servers:Ljava/util/Map;
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState
astore 3
start local 3 9: aload 3
ifnonnull 36
10: aconst_null
astore 8
start local 8 11: aload 0
getfield com.sun.xml.internal.ws.transport.http.server.ServerMgr.servers:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 10
goto 16
StackMap locals: com.sun.xml.internal.ws.transport.http.server.ServerMgr java.lang.String top com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState java.net.URL int java.net.InetSocketAddress java.util.Map com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState top java.util.Iterator
StackMap stack:
12: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState
astore 9
start local 9 13: iload 5
aload 9
invokevirtual com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState.getServer:()Lcom/sun/net/httpserver/HttpServer;
invokevirtual com.sun.net.httpserver.HttpServer.getAddress:()Ljava/net/InetSocketAddress;
invokevirtual java.net.InetSocketAddress.getPort:()I
if_icmpne 16
14: aload 9
astore 8
15: goto 17
end local 9 16: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
17: StackMap locals: com.sun.xml.internal.ws.transport.http.server.ServerMgr java.lang.String top com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState java.net.URL int java.net.InetSocketAddress java.util.Map com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState
StackMap stack:
aload 6
invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
ifeq 20
aload 8
ifnull 20
18: aload 8
astore 3
19: goto 36
20: StackMap locals:
StackMap stack:
getstatic com.sun.xml.internal.ws.transport.http.server.ServerMgr.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 22
21: getstatic com.sun.xml.internal.ws.transport.http.server.ServerMgr.LOGGER:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Creating new HTTP Server at "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
22: StackMap locals:
StackMap stack:
aload 6
iconst_0
invokestatic com.sun.net.httpserver.HttpServer.create:(Ljava/net/InetSocketAddress;I)Lcom/sun/net/httpserver/HttpServer;
astore 2
start local 2 23: aload 2
invokestatic java.util.concurrent.Executors.newCachedThreadPool:()Ljava/util/concurrent/ExecutorService;
invokevirtual com.sun.net.httpserver.HttpServer.setExecutor:(Ljava/util/concurrent/Executor;)V
24: aload 4
invokevirtual java.net.URL.toURI:()Ljava/net/URI;
invokevirtual java.net.URI.getPath:()Ljava/lang/String;
astore 9
start local 9 25: getstatic com.sun.xml.internal.ws.transport.http.server.ServerMgr.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 27
26: getstatic com.sun.xml.internal.ws.transport.http.server.ServerMgr.LOGGER:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Creating HTTP Context at = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
27: StackMap locals: com.sun.xml.internal.ws.transport.http.server.ServerMgr java.lang.String com.sun.net.httpserver.HttpServer com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState java.net.URL int java.net.InetSocketAddress java.util.Map com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState java.lang.String
StackMap stack:
aload 2
aload 9
invokevirtual com.sun.net.httpserver.HttpServer.createContext:(Ljava/lang/String;)Lcom/sun/net/httpserver/HttpContext;
astore 10
start local 10 28: aload 2
invokevirtual com.sun.net.httpserver.HttpServer.start:()V
29: aload 2
invokevirtual com.sun.net.httpserver.HttpServer.getAddress:()Ljava/net/InetSocketAddress;
astore 6
30: getstatic com.sun.xml.internal.ws.transport.http.server.ServerMgr.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 32
31: getstatic com.sun.xml.internal.ws.transport.http.server.ServerMgr.LOGGER:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
ldc "HTTP server started = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
32: StackMap locals: com.sun.net.httpserver.HttpContext
StackMap stack:
new com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState
dup
aload 2
aload 9
invokespecial com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState.<init>:(Lcom/sun/net/httpserver/HttpServer;Ljava/lang/String;)V
astore 3
33: aload 0
getfield com.sun.xml.internal.ws.transport.http.server.ServerMgr.servers:Ljava/util/Map;
aload 6
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
34: aload 10
aload 7
monitorexit
35: areturn
end local 10 end local 9 end local 8 end local 2 36: StackMap locals: com.sun.xml.internal.ws.transport.http.server.ServerMgr java.lang.String top com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState java.net.URL int java.net.InetSocketAddress java.util.Map
StackMap stack:
aload 7
monitorexit
37: goto 40
end local 3 StackMap locals: com.sun.xml.internal.ws.transport.http.server.ServerMgr java.lang.String top top java.net.URL int java.net.InetSocketAddress java.util.Map
StackMap stack: java.lang.Throwable
38: aload 7
monitorexit
39: athrow
start local 3 40: StackMap locals: com.sun.xml.internal.ws.transport.http.server.ServerMgr java.lang.String top com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState java.net.URL int java.net.InetSocketAddress
StackMap stack:
aload 3
invokevirtual com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState.getServer:()Lcom/sun/net/httpserver/HttpServer;
astore 2
start local 2 41: aload 3
invokevirtual com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState.getPaths:()Ljava/util/Set;
aload 4
invokevirtual java.net.URL.getPath:()Ljava/lang/String;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 46
42: new java.lang.StringBuilder
dup
ldc "Context with URL path "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.net.URL.getPath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " already exists on the server "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual com.sun.net.httpserver.HttpServer.getAddress:()Ljava/net/InetSocketAddress;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 43: getstatic com.sun.xml.internal.ws.transport.http.server.ServerMgr.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 45
44: getstatic com.sun.xml.internal.ws.transport.http.server.ServerMgr.LOGGER:Ljava/util/logging/Logger;
aload 7
invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
45: StackMap locals: com.sun.xml.internal.ws.transport.http.server.ServerMgr java.lang.String com.sun.net.httpserver.HttpServer com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState java.net.URL int java.net.InetSocketAddress java.lang.String
StackMap stack:
new java.lang.IllegalArgumentException
dup
aload 7
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 7 46: StackMap locals:
StackMap stack:
getstatic com.sun.xml.internal.ws.transport.http.server.ServerMgr.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 48
47: getstatic com.sun.xml.internal.ws.transport.http.server.ServerMgr.LOGGER:Ljava/util/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Creating HTTP Context at = "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.net.URL.getPath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.util.logging.Logger.fine:(Ljava/lang/String;)V
48: StackMap locals:
StackMap stack:
aload 2
aload 4
invokevirtual java.net.URL.getPath:()Ljava/lang/String;
invokevirtual com.sun.net.httpserver.HttpServer.createContext:(Ljava/lang/String;)Lcom/sun/net/httpserver/HttpContext;
astore 7
start local 7 49: aload 3
aload 4
invokevirtual java.net.URL.getPath:()Ljava/lang/String;
invokevirtual com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState.oneMoreContext:(Ljava/lang/String;)V
50: aload 7
51: areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 52: StackMap locals: com.sun.xml.internal.ws.transport.http.server.ServerMgr java.lang.String
StackMap stack: java.lang.Exception
astore 2
start local 2 53: new com.sun.xml.internal.ws.server.ServerRtException
dup
ldc "server.rt.err"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokespecial com.sun.xml.internal.ws.server.ServerRtException.<init>:(Ljava/lang/String;[Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lcom/sun/xml/internal/ws/transport/http/server/ServerMgr;
0 54 1 address Ljava/lang/String;
23 36 2 server Lcom/sun/net/httpserver/HttpServer;
41 52 2 server Lcom/sun/net/httpserver/HttpServer;
9 38 3 state Lcom/sun/xml/internal/ws/transport/http/server/ServerMgr$ServerState;
40 52 3 state Lcom/sun/xml/internal/ws/transport/http/server/ServerMgr$ServerState;
1 52 4 url Ljava/net/URL;
2 52 5 port I
7 52 6 inetAddress Ljava/net/InetSocketAddress;
11 36 8 free Lcom/sun/xml/internal/ws/transport/http/server/ServerMgr$ServerState;
13 16 9 ss Lcom/sun/xml/internal/ws/transport/http/server/ServerMgr$ServerState;
25 36 9 path Ljava/lang/String;
28 36 10 context Lcom/sun/net/httpserver/HttpContext;
43 46 7 err Ljava/lang/String;
49 52 7 context Lcom/sun/net/httpserver/HttpContext;
53 54 2 e Ljava/lang/Exception;
Exception table:
from to target type
8 35 38 any
36 37 38 any
38 39 38 any
0 35 52 Class java.lang.Exception
36 51 52 Class java.lang.Exception
MethodParameters:
Name Flags
address
void removeContext(com.sun.net.httpserver.HttpContext);
descriptor: (Lcom/sun/net/httpserver/HttpContext;)V
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.sun.net.httpserver.HttpContext.getServer:()Lcom/sun/net/httpserver/HttpServer;
invokevirtual com.sun.net.httpserver.HttpServer.getAddress:()Ljava/net/InetSocketAddress;
astore 2
start local 2 1: aload 0
getfield com.sun.xml.internal.ws.transport.http.server.ServerMgr.servers:Ljava/util/Map;
dup
astore 3
monitorenter
2: aload 0
getfield com.sun.xml.internal.ws.transport.http.server.ServerMgr.servers:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState
astore 4
start local 4 3: aload 4
invokevirtual com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState.noOfContexts:()I
istore 5
start local 5 4: iload 5
iconst_2
if_icmpge 9
5: aload 4
invokevirtual com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState.getServer:()Lcom/sun/net/httpserver/HttpServer;
invokevirtual com.sun.net.httpserver.HttpServer.getExecutor:()Ljava/util/concurrent/Executor;
checkcast java.util.concurrent.ExecutorService
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
6: aload 4
invokevirtual com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState.getServer:()Lcom/sun/net/httpserver/HttpServer;
iconst_0
invokevirtual com.sun.net.httpserver.HttpServer.stop:(I)V
7: aload 0
getfield com.sun.xml.internal.ws.transport.http.server.ServerMgr.servers:Ljava/util/Map;
aload 2
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
8: goto 11
9: StackMap locals: com.sun.xml.internal.ws.transport.http.server.ServerMgr com.sun.net.httpserver.HttpContext java.net.InetSocketAddress java.util.Map com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState int
StackMap stack:
aload 4
invokevirtual com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState.getServer:()Lcom/sun/net/httpserver/HttpServer;
aload 1
invokevirtual com.sun.net.httpserver.HttpServer.removeContext:(Lcom/sun/net/httpserver/HttpContext;)V
10: aload 4
aload 1
invokevirtual com.sun.net.httpserver.HttpContext.getPath:()Ljava/lang/String;
invokevirtual com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState.oneLessContext:(Ljava/lang/String;)V
end local 5 end local 4 11: StackMap locals:
StackMap stack:
aload 3
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 3
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/xml/internal/ws/transport/http/server/ServerMgr;
0 16 1 context Lcom/sun/net/httpserver/HttpContext;
1 16 2 inetAddress Ljava/net/InetSocketAddress;
3 11 4 state Lcom/sun/xml/internal/ws/transport/http/server/ServerMgr$ServerState;
4 11 5 instances I
Exception table:
from to target type
2 12 13 any
13 14 13 any
MethodParameters:
Name Flags
context
}
SourceFile: "ServerMgr.java"
NestMembers:
com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState
InnerClasses:
private final ServerState = com.sun.xml.internal.ws.transport.http.server.ServerMgr$ServerState of com.sun.xml.internal.ws.transport.http.server.ServerMgr