public class org.jboss.resteasy.core.AsynchronousDispatcher extends org.jboss.resteasy.core.SynchronousDispatcher
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jboss.resteasy.core.AsynchronousDispatcher
super_class: org.jboss.resteasy.core.SynchronousDispatcher
{
protected java.util.concurrent.ExecutorService executor;
descriptor: Ljava/util/concurrent/ExecutorService;
flags: (0x0004) ACC_PROTECTED
private int threadPoolSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, java.util.concurrent.Future<org.jboss.resteasy.mock.MockHttpResponse>> jobs;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/concurrent/Future<Lorg/jboss/resteasy/mock/MockHttpResponse;>;>;
private org.jboss.resteasy.core.AsynchronousDispatcher$Cache cache;
descriptor: Lorg/jboss/resteasy/core/AsynchronousDispatcher$Cache;
flags: (0x0002) ACC_PRIVATE
private java.lang.String basePath;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private org.jboss.resteasy.core.AsynchronousDispatcher$SecureRandomWrapper counter;
descriptor: Lorg/jboss/resteasy/core/AsynchronousDispatcher$SecureRandomWrapper;
flags: (0x0002) ACC_PRIVATE
private long maxWaitMilliSeconds;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int maxCacheSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(org.jboss.resteasy.spi.ResteasyProviderFactory);
descriptor: (Lorg/jboss/resteasy/spi/ResteasyProviderFactory;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.jboss.resteasy.core.SynchronousDispatcher.<init>:(Lorg/jboss/resteasy/spi/ResteasyProviderFactory;)V
1: aload 0
bipush 100
putfield org.jboss.resteasy.core.AsynchronousDispatcher.threadPoolSize:I
2: aload 0
ldc "/asynch/jobs"
putfield org.jboss.resteasy.core.AsynchronousDispatcher.basePath:Ljava/lang/String;
3: aload 0
ldc 300000
putfield org.jboss.resteasy.core.AsynchronousDispatcher.maxWaitMilliSeconds:J
4: aload 0
bipush 100
putfield org.jboss.resteasy.core.AsynchronousDispatcher.maxCacheSize:I
5: aload 0
new org.jboss.resteasy.core.AsynchronousDispatcher$SecureRandomWrapper
dup
invokespecial org.jboss.resteasy.core.AsynchronousDispatcher$SecureRandomWrapper.<init>:()V
putfield org.jboss.resteasy.core.AsynchronousDispatcher.counter:Lorg/jboss/resteasy/core/AsynchronousDispatcher$SecureRandomWrapper;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 7 1 providerFactory Lorg/jboss/resteasy/spi/ResteasyProviderFactory;
MethodParameters:
Name Flags
providerFactory
public void <init>(org.jboss.resteasy.spi.ResteasyProviderFactory, org.jboss.resteasy.core.ResourceMethodRegistry);
descriptor: (Lorg/jboss/resteasy/spi/ResteasyProviderFactory;Lorg/jboss/resteasy/core/ResourceMethodRegistry;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.jboss.resteasy.core.SynchronousDispatcher.<init>:(Lorg/jboss/resteasy/spi/ResteasyProviderFactory;Lorg/jboss/resteasy/core/ResourceMethodRegistry;)V
1: aload 0
bipush 100
putfield org.jboss.resteasy.core.AsynchronousDispatcher.threadPoolSize:I
2: aload 0
ldc "/asynch/jobs"
putfield org.jboss.resteasy.core.AsynchronousDispatcher.basePath:Ljava/lang/String;
3: aload 0
ldc 300000
putfield org.jboss.resteasy.core.AsynchronousDispatcher.maxWaitMilliSeconds:J
4: aload 0
bipush 100
putfield org.jboss.resteasy.core.AsynchronousDispatcher.maxCacheSize:I
5: aload 0
new org.jboss.resteasy.core.AsynchronousDispatcher$SecureRandomWrapper
dup
invokespecial org.jboss.resteasy.core.AsynchronousDispatcher$SecureRandomWrapper.<init>:()V
putfield org.jboss.resteasy.core.AsynchronousDispatcher.counter:Lorg/jboss/resteasy/core/AsynchronousDispatcher$SecureRandomWrapper;
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 7 1 providerFactory Lorg/jboss/resteasy/spi/ResteasyProviderFactory;
0 7 2 registry Lorg/jboss/resteasy/core/ResourceMethodRegistry;
MethodParameters:
Name Flags
providerFactory
registry
public void setMaxCacheSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.jboss.resteasy.core.AsynchronousDispatcher.maxCacheSize:I
1: aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.cache:Lorg/jboss/resteasy/core/AsynchronousDispatcher$Cache;
ifnull 2
aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.cache:Lorg/jboss/resteasy/core/AsynchronousDispatcher$Cache;
iload 1
invokevirtual org.jboss.resteasy.core.AsynchronousDispatcher$Cache.setMaxSize:(I)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 3 1 maxCacheSize I
MethodParameters:
Name Flags
maxCacheSize
public void setMaxWaitMilliSeconds(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
lload 1
putfield org.jboss.resteasy.core.AsynchronousDispatcher.maxWaitMilliSeconds:J
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 2 1 maxWaitMilliSeconds J
MethodParameters:
Name Flags
maxWaitMilliSeconds
public void setBasePath(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.jboss.resteasy.core.AsynchronousDispatcher.basePath:Ljava/lang/String;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 2 1 basePath Ljava/lang/String;
MethodParameters:
Name Flags
basePath
public void setThreadPoolSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.jboss.resteasy.core.AsynchronousDispatcher.threadPoolSize:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 2 1 threadPoolSize I
MethodParameters:
Name Flags
threadPoolSize
public void setExecutor(java.util.concurrent.ExecutorService);
descriptor: (Ljava/util/concurrent/ExecutorService;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.jboss.resteasy.core.AsynchronousDispatcher.executor:Ljava/util/concurrent/ExecutorService;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 2 1 executor Ljava/util/concurrent/ExecutorService;
MethodParameters:
Name Flags
executor
public void start();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new org.jboss.resteasy.core.AsynchronousDispatcher$Cache
dup
aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.maxCacheSize:I
invokespecial org.jboss.resteasy.core.AsynchronousDispatcher$Cache.<init>:(I)V
putfield org.jboss.resteasy.core.AsynchronousDispatcher.cache:Lorg/jboss/resteasy/core/AsynchronousDispatcher$Cache;
1: aload 0
aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.cache:Lorg/jboss/resteasy/core/AsynchronousDispatcher$Cache;
invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
putfield org.jboss.resteasy.core.AsynchronousDispatcher.jobs:Ljava/util/Map;
2: aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.executor:Ljava/util/concurrent/ExecutorService;
ifnonnull 3
aload 0
aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.threadPoolSize:I
invokestatic java.util.concurrent.Executors.newFixedThreadPool:(I)Ljava/util/concurrent/ExecutorService;
putfield org.jboss.resteasy.core.AsynchronousDispatcher.executor:Ljava/util/concurrent/ExecutorService;
3: StackMap locals:
StackMap stack:
aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.registry:Lorg/jboss/resteasy/spi/Registry;
aload 0
aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.basePath:Ljava/lang/String;
invokeinterface org.jboss.resteasy.spi.Registry.addSingletonResource:(Ljava/lang/Object;Ljava/lang/String;)V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
public void stop();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.executor:Ljava/util/concurrent/ExecutorService;
invokeinterface java.util.concurrent.ExecutorService.shutdown:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
public void remove(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.jobs:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 2 1 jobId Ljava/lang/String;
RuntimeVisibleAnnotations:
javax.ws.rs.Path(value = "{job-id}")
javax.ws.rs.DELETE()
RuntimeVisibleParameterAnnotations:
0:
javax.ws.rs.PathParam(value = "job-id")
MethodParameters:
Name Flags
jobId
public javax.ws.rs.core.Response readAndRemove(long, java.lang.String);
descriptor: (JLjava/lang/String;)Ljavax/ws/rs/core/Response;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
aload 3
iconst_1
invokevirtual org.jboss.resteasy.core.AsynchronousDispatcher.process:(JLjava/lang/String;Z)Ljavax/ws/rs/core/Response;
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 1 1 wait J
0 1 3 jobId Ljava/lang/String;
RuntimeVisibleAnnotations:
javax.ws.rs.Path(value = "{job-id}")
javax.ws.rs.POST()
RuntimeVisibleParameterAnnotations:
0:
javax.ws.rs.QueryParam(value = "wait")
javax.ws.rs.DefaultValue(value = "-1")
1:
javax.ws.rs.PathParam(value = "job-id")
MethodParameters:
Name Flags
wait
jobId
public javax.ws.rs.core.Response get(long, java.lang.String);
descriptor: (JLjava/lang/String;)Ljavax/ws/rs/core/Response;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
aload 3
iconst_0
invokevirtual org.jboss.resteasy.core.AsynchronousDispatcher.process:(JLjava/lang/String;Z)Ljavax/ws/rs/core/Response;
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 1 1 wait J
0 1 3 jobId Ljava/lang/String;
RuntimeVisibleAnnotations:
javax.ws.rs.Path(value = "{job-id}")
javax.ws.rs.GET()
RuntimeVisibleParameterAnnotations:
0:
javax.ws.rs.QueryParam(value = "wait")
javax.ws.rs.DefaultValue(value = "-1")
1:
javax.ws.rs.PathParam(value = "job-id")
MethodParameters:
Name Flags
wait
jobId
protected javax.ws.rs.core.Response process(long, java.lang.String, boolean);
descriptor: (JLjava/lang/String;Z)Ljavax/ws/rs/core/Response;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=14, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.jobs:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.concurrent.Future
astore 5
start local 5 1: aload 5
ifnonnull 2
getstatic javax.ws.rs.core.Response$Status.GONE:Ljavax/ws/rs/core/Response$Status;
invokestatic javax.ws.rs.core.Response.status:(Ljavax/ws/rs/core/Response$Status;)Ljavax/ws/rs/core/Response$ResponseBuilder;
invokevirtual javax.ws.rs.core.Response$ResponseBuilder.build:()Ljavax/ws/rs/core/Response;
areturn
2: StackMap locals: java.util.concurrent.Future
StackMap stack:
aconst_null
astore 6
start local 6 3: iconst_0
istore 7
start local 7 4: lload 1
lconst_0
lcmp
ifgt 5
iconst_1
istore 7
5: StackMap locals: org.jboss.resteasy.mock.MockHttpResponse int
StackMap stack:
iload 7
ifeq 11
6: aload 5
invokeinterface java.util.concurrent.Future.isDone:()Z
ifeq 20
7: aload 5
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
checkcast org.jboss.resteasy.mock.MockHttpResponse
astore 6
8: goto 20
9: StackMap locals:
StackMap stack: java.lang.Exception
pop
10: invokestatic javax.ws.rs.core.Response.serverError:()Ljavax/ws/rs/core/Response$ResponseBuilder;
invokevirtual javax.ws.rs.core.Response$ResponseBuilder.build:()Ljavax/ws/rs/core/Response;
areturn
11: StackMap locals:
StackMap stack:
lload 1
aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.maxWaitMilliSeconds:J
lcmp
ifle 12
aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.maxWaitMilliSeconds:J
lstore 1
12: StackMap locals:
StackMap stack:
aload 5
lload 1
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokeinterface java.util.concurrent.Future.get:(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
checkcast org.jboss.resteasy.mock.MockHttpResponse
astore 6
13: goto 20
14: StackMap locals:
StackMap stack: java.lang.InterruptedException
pop
15: invokestatic javax.ws.rs.core.Response.serverError:()Ljavax/ws/rs/core/Response$ResponseBuilder;
invokevirtual javax.ws.rs.core.Response$ResponseBuilder.build:()Ljavax/ws/rs/core/Response;
areturn
16: StackMap locals:
StackMap stack: java.util.concurrent.ExecutionException
pop
17: invokestatic javax.ws.rs.core.Response.serverError:()Ljavax/ws/rs/core/Response$ResponseBuilder;
invokevirtual javax.ws.rs.core.Response$ResponseBuilder.build:()Ljavax/ws/rs/core/Response;
areturn
18: StackMap locals:
StackMap stack: java.util.concurrent.TimeoutException
pop
19: getstatic javax.ws.rs.core.Response$Status.SERVICE_UNAVAILABLE:Ljavax/ws/rs/core/Response$Status;
invokestatic javax.ws.rs.core.Response.status:(Ljavax/ws/rs/core/Response$Status;)Ljavax/ws/rs/core/Response$ResponseBuilder;
invokevirtual javax.ws.rs.core.Response$ResponseBuilder.build:()Ljavax/ws/rs/core/Response;
areturn
20: StackMap locals:
StackMap stack:
aload 6
ifnonnull 22
21: getstatic javax.ws.rs.core.Response$Status.ACCEPTED:Ljavax/ws/rs/core/Response$Status;
invokestatic javax.ws.rs.core.Response.status:(Ljavax/ws/rs/core/Response$Status;)Ljavax/ws/rs/core/Response$ResponseBuilder;
invokevirtual javax.ws.rs.core.Response$ResponseBuilder.build:()Ljavax/ws/rs/core/Response;
areturn
22: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.jboss.resteasy.mock.MockHttpResponse.getStatus:()I
invokestatic javax.ws.rs.core.Response.status:(I)Ljavax/ws/rs/core/Response$ResponseBuilder;
astore 8
start local 8 23: aload 8
aload 6
invokevirtual org.jboss.resteasy.mock.MockHttpResponse.getOutput:()[B
invokevirtual javax.ws.rs.core.Response$ResponseBuilder.entity:(Ljava/lang/Object;)Ljavax/ws/rs/core/Response$ResponseBuilder;
pop
24: aload 6
invokevirtual org.jboss.resteasy.mock.MockHttpResponse.getOutputHeaders:()Ljavax/ws/rs/core/MultivaluedMap;
invokeinterface javax.ws.rs.core.MultivaluedMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 31
StackMap locals: org.jboss.resteasy.core.AsynchronousDispatcher long java.lang.String int java.util.concurrent.Future org.jboss.resteasy.mock.MockHttpResponse int javax.ws.rs.core.Response$ResponseBuilder top java.util.Iterator
StackMap stack:
25: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 26: aload 6
invokevirtual org.jboss.resteasy.mock.MockHttpResponse.getOutputHeaders:()Ljavax/ws/rs/core/MultivaluedMap;
aload 9
invokeinterface javax.ws.rs.core.MultivaluedMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.List
astore 11
start local 11 27: aload 11
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 30
StackMap locals: org.jboss.resteasy.core.AsynchronousDispatcher long java.lang.String int java.util.concurrent.Future org.jboss.resteasy.mock.MockHttpResponse int javax.ws.rs.core.Response$ResponseBuilder java.lang.String java.util.Iterator java.util.List top java.util.Iterator
StackMap stack:
28: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 12
start local 12 29: aload 8
aload 9
aload 12
invokevirtual javax.ws.rs.core.Response$ResponseBuilder.header:(Ljava/lang/String;Ljava/lang/Object;)Ljavax/ws/rs/core/Response$ResponseBuilder;
pop
end local 12 30: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
end local 11 end local 9 31: StackMap locals: org.jboss.resteasy.core.AsynchronousDispatcher long java.lang.String int java.util.concurrent.Future org.jboss.resteasy.mock.MockHttpResponse int javax.ws.rs.core.Response$ResponseBuilder top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 25
32: iload 4
ifeq 33
aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.jobs:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
33: StackMap locals: org.jboss.resteasy.core.AsynchronousDispatcher long java.lang.String int java.util.concurrent.Future org.jboss.resteasy.mock.MockHttpResponse int javax.ws.rs.core.Response$ResponseBuilder
StackMap stack:
aload 8
invokevirtual javax.ws.rs.core.Response$ResponseBuilder.build:()Ljavax/ws/rs/core/Response;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 34 1 wait J
0 34 3 jobId Ljava/lang/String;
0 34 4 eatJob Z
1 34 5 job Ljava/util/concurrent/Future<Lorg/jboss/resteasy/mock/MockHttpResponse;>;
3 34 6 response Lorg/jboss/resteasy/mock/MockHttpResponse;
4 34 7 nowait Z
23 34 8 builder Ljavax/ws/rs/core/Response$ResponseBuilder;
26 31 9 name Ljava/lang/String;
27 31 11 values Ljava/util/List;
29 30 12 value Ljava/lang/Object;
Exception table:
from to target type
7 8 9 Class java.lang.Exception
12 13 14 Class java.lang.InterruptedException
12 13 16 Class java.util.concurrent.ExecutionException
12 13 18 Class java.util.concurrent.TimeoutException
MethodParameters:
Name Flags
wait
jobId
eatJob
public boolean isAsynchrnousRequest(org.jboss.resteasy.spi.HttpRequest);
descriptor: (Lorg/jboss/resteasy/spi/HttpRequest;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.jboss.resteasy.spi.HttpRequest.getUri:()Lorg/jboss/resteasy/spi/ResteasyUriInfo;
invokevirtual org.jboss.resteasy.spi.ResteasyUriInfo.getQueryParameters:()Ljavax/ws/rs/core/MultivaluedMap;
astore 2
start local 2 1: aload 2
ldc "asynch"
invokeinterface javax.ws.rs.core.MultivaluedMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 2
aload 2
ldc "oneway"
invokeinterface javax.ws.rs.core.MultivaluedMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnonnull 2
iconst_0
ireturn
StackMap locals: javax.ws.rs.core.MultivaluedMap
StackMap stack:
2: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 3 1 in Lorg/jboss/resteasy/spi/HttpRequest;
1 3 2 queryParameters Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
in
public void invokeSuper(org.jboss.resteasy.spi.HttpRequest, org.jboss.resteasy.spi.HttpResponse, org.jboss.resteasy.core.ResourceInvoker);
descriptor: (Lorg/jboss/resteasy/spi/HttpRequest;Lorg/jboss/resteasy/spi/HttpResponse;Lorg/jboss/resteasy/core/ResourceInvoker;)V
flags: (0x0001) ACC_PUBLIC
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
aload 3
invokespecial org.jboss.resteasy.core.SynchronousDispatcher.invoke:(Lorg/jboss/resteasy/spi/HttpRequest;Lorg/jboss/resteasy/spi/HttpResponse;Lorg/jboss/resteasy/core/ResourceInvoker;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 2 1 in Lorg/jboss/resteasy/spi/HttpRequest;
0 2 2 response Lorg/jboss/resteasy/spi/HttpResponse;
0 2 3 invoker Lorg/jboss/resteasy/core/ResourceInvoker;
MethodParameters:
Name Flags
in
response
invoker
public void invoke(org.jboss.resteasy.spi.HttpRequest, org.jboss.resteasy.spi.HttpResponse, org.jboss.resteasy.core.ResourceInvoker);
descriptor: (Lorg/jboss/resteasy/spi/HttpRequest;Lorg/jboss/resteasy/spi/HttpResponse;Lorg/jboss/resteasy/core/ResourceInvoker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface org.jboss.resteasy.spi.HttpRequest.getUri:()Lorg/jboss/resteasy/spi/ResteasyUriInfo;
invokevirtual org.jboss.resteasy.spi.ResteasyUriInfo.getQueryParameters:()Ljavax/ws/rs/core/MultivaluedMap;
astore 4
start local 4 1: aload 4
ldc "asynch"
invokeinterface javax.ws.rs.core.MultivaluedMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 4
2: aload 0
aload 1
aload 2
aload 3
invokevirtual org.jboss.resteasy.core.AsynchronousDispatcher.postJob:(Lorg/jboss/resteasy/spi/HttpRequest;Lorg/jboss/resteasy/spi/HttpResponse;Lorg/jboss/resteasy/core/ResourceInvoker;)V
3: goto 8
4: StackMap locals: javax.ws.rs.core.MultivaluedMap
StackMap stack:
aload 4
ldc "oneway"
invokeinterface javax.ws.rs.core.MultivaluedMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 7
5: aload 0
aload 1
aload 2
aload 3
invokevirtual org.jboss.resteasy.core.AsynchronousDispatcher.oneway:(Lorg/jboss/resteasy/spi/HttpRequest;Lorg/jboss/resteasy/spi/HttpResponse;Lorg/jboss/resteasy/core/ResourceInvoker;)V
6: goto 8
7: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokespecial org.jboss.resteasy.core.SynchronousDispatcher.invoke:(Lorg/jboss/resteasy/spi/HttpRequest;Lorg/jboss/resteasy/spi/HttpResponse;Lorg/jboss/resteasy/core/ResourceInvoker;)V
8: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 9 1 in Lorg/jboss/resteasy/spi/HttpRequest;
0 9 2 response Lorg/jboss/resteasy/spi/HttpResponse;
0 9 3 invoker Lorg/jboss/resteasy/core/ResourceInvoker;
1 9 4 queryParameters Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
in
response
invoker
public void postJob(org.jboss.resteasy.spi.HttpRequest, org.jboss.resteasy.spi.HttpResponse, org.jboss.resteasy.core.ResourceInvoker);
descriptor: (Lorg/jboss/resteasy/spi/HttpRequest;Lorg/jboss/resteasy/spi/HttpResponse;Lorg/jboss/resteasy/core/ResourceInvoker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic org.jboss.resteasy.mock.MockHttpRequest.deepCopy:(Lorg/jboss/resteasy/spi/HttpRequest;)Lorg/jboss/resteasy/mock/MockHttpRequest;
astore 4
start local 4 1: goto 4
end local 4 2: StackMap locals:
StackMap stack: java.io.IOException
astore 5
start local 5 3: new org.jboss.resteasy.spi.InternalServerErrorException
dup
aload 5
invokespecial org.jboss.resteasy.spi.InternalServerErrorException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 start local 4 4: StackMap locals: org.jboss.resteasy.mock.MockHttpRequest
StackMap stack:
new org.jboss.resteasy.core.AsynchronousDispatcher$1
dup
aload 0
aload 4
aload 3
invokespecial org.jboss.resteasy.core.AsynchronousDispatcher$1.<init>:(Lorg/jboss/resteasy/core/AsynchronousDispatcher;Lorg/jboss/resteasy/mock/MockHttpRequest;Lorg/jboss/resteasy/core/ResourceInvoker;)V
astore 5
start local 5 5: aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.executor:Ljava/util/concurrent/ExecutorService;
aload 5
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
astore 6
start local 6 6: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
invokestatic java.lang.System.currentTimeMillis:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.counter:Lorg/jboss/resteasy/core/AsynchronousDispatcher$SecureRandomWrapper;
invokevirtual org.jboss.resteasy.core.AsynchronousDispatcher$SecureRandomWrapper.nextInt:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 7
start local 7 7: aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.jobs:Ljava/util/Map;
aload 7
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 2
sipush 202
invokeinterface org.jboss.resteasy.spi.HttpResponse.setStatus:(I)V
9: aload 1
invokeinterface org.jboss.resteasy.spi.HttpRequest.getUri:()Lorg/jboss/resteasy/spi/ResteasyUriInfo;
invokevirtual org.jboss.resteasy.spi.ResteasyUriInfo.getBaseUriBuilder:()Ljavax/ws/rs/core/UriBuilder;
aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.basePath:Ljava/lang/String;
invokevirtual javax.ws.rs.core.UriBuilder.path:(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;
aload 7
invokevirtual javax.ws.rs.core.UriBuilder.path:(Ljava/lang/String;)Ljavax/ws/rs/core/UriBuilder;
iconst_0
anewarray java.lang.Object
invokevirtual javax.ws.rs.core.UriBuilder.build:([Ljava/lang/Object;)Ljava/net/URI;
astore 8
start local 8 10: aload 2
invokeinterface org.jboss.resteasy.spi.HttpResponse.getOutputHeaders:()Ljavax/ws/rs/core/MultivaluedMap;
ldc "Location"
aload 8
invokeinterface javax.ws.rs.core.MultivaluedMap.add:(Ljava/lang/Object;Ljava/lang/Object;)V
11: return
end local 8 end local 7 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 12 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 12 1 request Lorg/jboss/resteasy/spi/HttpRequest;
0 12 2 response Lorg/jboss/resteasy/spi/HttpResponse;
0 12 3 invoker Lorg/jboss/resteasy/core/ResourceInvoker;
1 2 4 in Lorg/jboss/resteasy/mock/MockHttpRequest;
4 12 4 in Lorg/jboss/resteasy/mock/MockHttpRequest;
3 4 5 e Ljava/io/IOException;
5 12 5 callable Ljava/util/concurrent/Callable<Lorg/jboss/resteasy/mock/MockHttpResponse;>;
6 12 6 future Ljava/util/concurrent/Future<Lorg/jboss/resteasy/mock/MockHttpResponse;>;
7 12 7 id Ljava/lang/String;
10 12 8 uri Ljava/net/URI;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
request
response
invoker final
public void oneway(org.jboss.resteasy.spi.HttpRequest, org.jboss.resteasy.spi.HttpResponse, org.jboss.resteasy.core.ResourceInvoker);
descriptor: (Lorg/jboss/resteasy/spi/HttpRequest;Lorg/jboss/resteasy/spi/HttpResponse;Lorg/jboss/resteasy/core/ResourceInvoker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.LOGGER:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/LogMessages;
invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.inOneWay:()V
1: aload 1
invokestatic org.jboss.resteasy.mock.MockHttpRequest.deepCopy:(Lorg/jboss/resteasy/spi/HttpRequest;)Lorg/jboss/resteasy/mock/MockHttpRequest;
astore 4
start local 4 2: goto 5
end local 4 3: StackMap locals:
StackMap stack: java.io.IOException
astore 5
start local 5 4: new org.jboss.resteasy.spi.InternalServerErrorException
dup
aload 5
invokespecial org.jboss.resteasy.spi.InternalServerErrorException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 start local 4 5: StackMap locals: org.jboss.resteasy.mock.MockHttpRequest
StackMap stack:
new org.jboss.resteasy.core.AsynchronousDispatcher$2
dup
aload 0
aload 4
aload 3
invokespecial org.jboss.resteasy.core.AsynchronousDispatcher$2.<init>:(Lorg/jboss/resteasy/core/AsynchronousDispatcher;Lorg/jboss/resteasy/mock/MockHttpRequest;Lorg/jboss/resteasy/core/ResourceInvoker;)V
astore 5
start local 5 6: aload 0
getfield org.jboss.resteasy.core.AsynchronousDispatcher.executor:Ljava/util/concurrent/ExecutorService;
aload 5
invokeinterface java.util.concurrent.ExecutorService.execute:(Ljava/lang/Runnable;)V
7: aload 2
sipush 202
invokeinterface org.jboss.resteasy.spi.HttpResponse.setStatus:(I)V
8: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jboss/resteasy/core/AsynchronousDispatcher;
0 9 1 request Lorg/jboss/resteasy/spi/HttpRequest;
0 9 2 response Lorg/jboss/resteasy/spi/HttpResponse;
0 9 3 invoker Lorg/jboss/resteasy/core/ResourceInvoker;
2 3 4 in Lorg/jboss/resteasy/mock/MockHttpRequest;
5 9 4 in Lorg/jboss/resteasy/mock/MockHttpRequest;
4 5 5 e Ljava/io/IOException;
6 9 5 runnable Ljava/lang/Runnable;
Exception table:
from to target type
1 2 3 Class java.io.IOException
MethodParameters:
Name Flags
request
response
invoker final
}
SourceFile: "AsynchronousDispatcher.java"
NestMembers:
org.jboss.resteasy.core.AsynchronousDispatcher$1 org.jboss.resteasy.core.AsynchronousDispatcher$2 org.jboss.resteasy.core.AsynchronousDispatcher$Cache org.jboss.resteasy.core.AsynchronousDispatcher$SecureRandomWrapper
InnerClasses:
public abstract ResponseBuilder = javax.ws.rs.core.Response$ResponseBuilder of javax.ws.rs.core.Response
public final Status = javax.ws.rs.core.Response$Status of javax.ws.rs.core.Response
org.jboss.resteasy.core.AsynchronousDispatcher$1
org.jboss.resteasy.core.AsynchronousDispatcher$2
private Cache = org.jboss.resteasy.core.AsynchronousDispatcher$Cache of org.jboss.resteasy.core.AsynchronousDispatcher
private SecureRandomWrapper = org.jboss.resteasy.core.AsynchronousDispatcher$SecureRandomWrapper of org.jboss.resteasy.core.AsynchronousDispatcher
RuntimeVisibleAnnotations:
javax.ws.rs.Path(value = "/")