public class com.netflix.hystrix.strategy.concurrency.HystrixRequestContext implements java.io.Closeable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
super_class: java.lang.Object
{
private static java.lang.ThreadLocal<com.netflix.hystrix.strategy.concurrency.HystrixRequestContext> requestVariables;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/lang/ThreadLocal<Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;>;
java.util.concurrent.ConcurrentHashMap<com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault<?>, com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault$LazyInitializer<?>> state;
descriptor: Ljava/util/concurrent/ConcurrentHashMap;
flags: (0x0000)
Signature: Ljava/util/concurrent/ConcurrentHashMap<Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestVariableDefault<*>;Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestVariableDefault$LazyInitializer<*>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putstatic com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.requestVariables:Ljava/lang/ThreadLocal;
return
LocalVariableTable:
Start End Slot Name Signature
public static boolean isCurrentThreadInitialized();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: getstatic com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.requestVariables:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
astore 0
start local 0 1: aload 0
ifnull 2
aload 0
getfield com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.state:Ljava/util/concurrent/ConcurrentHashMap;
ifnull 2
iconst_1
ireturn
StackMap locals: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
StackMap stack:
2: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 context Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
public static com.netflix.hystrix.strategy.concurrency.HystrixRequestContext getContextForCurrentThread();
descriptor: ()Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: getstatic com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.requestVariables:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
astore 0
start local 0 1: aload 0
ifnull 3
aload 0
getfield com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.state:Ljava/util/concurrent/ConcurrentHashMap;
ifnull 3
2: aload 0
areturn
3: StackMap locals: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 context Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
public static void setContextOnCurrentThread(com.netflix.hystrix.strategy.concurrency.HystrixRequestContext);
descriptor: (Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.requestVariables:Ljava/lang/ThreadLocal;
aload 0
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 state Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
MethodParameters:
Name Flags
state
public static com.netflix.hystrix.strategy.concurrency.HystrixRequestContext initializeContext();
descriptor: ()Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: new com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
dup
invokespecial com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.<init>:()V
astore 0
start local 0 1: getstatic com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.requestVariables:Ljava/lang/ThreadLocal;
aload 0
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
2: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 state Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
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.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.state:Ljava/util/concurrent/ConcurrentHashMap;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
public void shutdown();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
getfield com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.state:Ljava/util/concurrent/ConcurrentHashMap;
ifnull 9
1: aload 0
getfield com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.state:Ljava/util/concurrent/ConcurrentHashMap;
invokevirtual java.util.concurrent.ConcurrentHashMap.keySet:()Ljava/util/concurrent/ConcurrentHashMap$KeySetView;
invokevirtual java.util.concurrent.ConcurrentHashMap$KeySetView.iterator:()Ljava/util/Iterator;
astore 2
goto 7
StackMap locals: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext top java.util.Iterator
StackMap stack:
2: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault
astore 1
start local 1 3: aload 0
aload 1
invokestatic com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault.remove:(Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestVariableDefault;)V
4: goto 7
StackMap locals: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault java.util.Iterator
StackMap stack: java.lang.Throwable
5: astore 3
start local 3 6: getstatic com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault.logger:Lorg/slf4j/Logger;
ldc "Error in shutdown, will continue with shutdown of other variables"
aload 3
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 3 end local 1 7: StackMap locals: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: aload 0
aconst_null
putfield com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.state:Ljava/util/concurrent/ConcurrentHashMap;
9: StackMap locals: com.netflix.hystrix.strategy.concurrency.HystrixRequestContext
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
3 7 1 v Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestVariableDefault<*>;
6 7 3 t Ljava/lang/Throwable;
Exception table:
from to target type
3 4 5 Class java.lang.Throwable
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.netflix.hystrix.strategy.concurrency.HystrixRequestContext.shutdown:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/netflix/hystrix/strategy/concurrency/HystrixRequestContext;
}
SourceFile: "HystrixRequestContext.java"
InnerClasses:
final LazyInitializer = com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault$LazyInitializer of com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault
public KeySetView = java.util.concurrent.ConcurrentHashMap$KeySetView of java.util.concurrent.ConcurrentHashMap