public abstract class com.netflix.hystrix.HystrixCommand<R> extends com.netflix.hystrix.AbstractCommand<R> implements com.netflix.hystrix.HystrixExecutable<R>, com.netflix.hystrix.HystrixInvokableInfo<R>, com.netflix.hystrix.HystrixObservable<R>
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.netflix.hystrix.HystrixCommand
super_class: com.netflix.hystrix.AbstractCommand
{
private final java.util.concurrent.atomic.AtomicReference<java.lang.Thread> executionThread;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<Ljava/lang/Thread;>;
private final java.util.concurrent.atomic.AtomicBoolean interruptOnFutureCancel;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile int[] $SWITCH_TABLE$com$netflix$hystrix$exception$HystrixRuntimeException$FailureType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
protected void <init>(com.netflix.hystrix.HystrixCommandGroupKey);
descriptor: (Lcom/netflix/hystrix/HystrixCommandGroupKey;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=13, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
invokespecial com.netflix.hystrix.AbstractCommand.<init>:(Lcom/netflix/hystrix/HystrixCommandGroupKey;Lcom/netflix/hystrix/HystrixCommandKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixCircuitBreaker;Lcom/netflix/hystrix/HystrixThreadPool;Lcom/netflix/hystrix/HystrixCommandProperties$Setter;Lcom/netflix/hystrix/HystrixThreadPoolProperties$Setter;Lcom/netflix/hystrix/HystrixCommandMetrics;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/strategy/properties/HystrixPropertiesStrategy;Lcom/netflix/hystrix/strategy/executionhook/HystrixCommandExecutionHook;)V
1: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield com.netflix.hystrix.HystrixCommand.executionThread:Ljava/util/concurrent/atomic/AtomicReference;
2: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield com.netflix.hystrix.HystrixCommand.interruptOnFutureCancel:Ljava/util/concurrent/atomic/AtomicBoolean;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
0 4 1 group Lcom/netflix/hystrix/HystrixCommandGroupKey;
MethodParameters:
Name Flags
group
protected void <init>(com.netflix.hystrix.HystrixCommandGroupKey, com.netflix.hystrix.HystrixThreadPoolKey);
descriptor: (Lcom/netflix/hystrix/HystrixCommandGroupKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=13, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
aload 2
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
invokespecial com.netflix.hystrix.AbstractCommand.<init>:(Lcom/netflix/hystrix/HystrixCommandGroupKey;Lcom/netflix/hystrix/HystrixCommandKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixCircuitBreaker;Lcom/netflix/hystrix/HystrixThreadPool;Lcom/netflix/hystrix/HystrixCommandProperties$Setter;Lcom/netflix/hystrix/HystrixThreadPoolProperties$Setter;Lcom/netflix/hystrix/HystrixCommandMetrics;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/strategy/properties/HystrixPropertiesStrategy;Lcom/netflix/hystrix/strategy/executionhook/HystrixCommandExecutionHook;)V
1: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield com.netflix.hystrix.HystrixCommand.executionThread:Ljava/util/concurrent/atomic/AtomicReference;
2: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield com.netflix.hystrix.HystrixCommand.interruptOnFutureCancel:Ljava/util/concurrent/atomic/AtomicBoolean;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
0 4 1 group Lcom/netflix/hystrix/HystrixCommandGroupKey;
0 4 2 threadPool Lcom/netflix/hystrix/HystrixThreadPoolKey;
MethodParameters:
Name Flags
group
threadPool
protected void <init>(com.netflix.hystrix.HystrixCommandGroupKey, int);
descriptor: (Lcom/netflix/hystrix/HystrixCommandGroupKey;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=13, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
aconst_null
aconst_null
aconst_null
invokestatic com.netflix.hystrix.HystrixCommandProperties.Setter:()Lcom/netflix/hystrix/HystrixCommandProperties$Setter;
iload 2
invokevirtual com.netflix.hystrix.HystrixCommandProperties$Setter.withExecutionTimeoutInMilliseconds:(I)Lcom/netflix/hystrix/HystrixCommandProperties$Setter;
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
invokespecial com.netflix.hystrix.AbstractCommand.<init>:(Lcom/netflix/hystrix/HystrixCommandGroupKey;Lcom/netflix/hystrix/HystrixCommandKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixCircuitBreaker;Lcom/netflix/hystrix/HystrixThreadPool;Lcom/netflix/hystrix/HystrixCommandProperties$Setter;Lcom/netflix/hystrix/HystrixThreadPoolProperties$Setter;Lcom/netflix/hystrix/HystrixCommandMetrics;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/strategy/properties/HystrixPropertiesStrategy;Lcom/netflix/hystrix/strategy/executionhook/HystrixCommandExecutionHook;)V
1: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield com.netflix.hystrix.HystrixCommand.executionThread:Ljava/util/concurrent/atomic/AtomicReference;
2: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield com.netflix.hystrix.HystrixCommand.interruptOnFutureCancel:Ljava/util/concurrent/atomic/AtomicBoolean;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
0 4 1 group Lcom/netflix/hystrix/HystrixCommandGroupKey;
0 4 2 executionIsolationThreadTimeoutInMilliseconds I
MethodParameters:
Name Flags
group
executionIsolationThreadTimeoutInMilliseconds
protected void <init>(com.netflix.hystrix.HystrixCommandGroupKey, com.netflix.hystrix.HystrixThreadPoolKey, int);
descriptor: (Lcom/netflix/hystrix/HystrixCommandGroupKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=13, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aconst_null
aload 2
aconst_null
aconst_null
invokestatic com.netflix.hystrix.HystrixCommandProperties.Setter:()Lcom/netflix/hystrix/HystrixCommandProperties$Setter;
iload 3
invokevirtual com.netflix.hystrix.HystrixCommandProperties$Setter.withExecutionTimeoutInMilliseconds:(I)Lcom/netflix/hystrix/HystrixCommandProperties$Setter;
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
invokespecial com.netflix.hystrix.AbstractCommand.<init>:(Lcom/netflix/hystrix/HystrixCommandGroupKey;Lcom/netflix/hystrix/HystrixCommandKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixCircuitBreaker;Lcom/netflix/hystrix/HystrixThreadPool;Lcom/netflix/hystrix/HystrixCommandProperties$Setter;Lcom/netflix/hystrix/HystrixThreadPoolProperties$Setter;Lcom/netflix/hystrix/HystrixCommandMetrics;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/strategy/properties/HystrixPropertiesStrategy;Lcom/netflix/hystrix/strategy/executionhook/HystrixCommandExecutionHook;)V
1: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield com.netflix.hystrix.HystrixCommand.executionThread:Ljava/util/concurrent/atomic/AtomicReference;
2: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield com.netflix.hystrix.HystrixCommand.interruptOnFutureCancel:Ljava/util/concurrent/atomic/AtomicBoolean;
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
0 4 1 group Lcom/netflix/hystrix/HystrixCommandGroupKey;
0 4 2 threadPool Lcom/netflix/hystrix/HystrixThreadPoolKey;
0 4 3 executionIsolationThreadTimeoutInMilliseconds I
MethodParameters:
Name Flags
group
threadPool
executionIsolationThreadTimeoutInMilliseconds
protected void <init>(com.netflix.hystrix.HystrixCommand$Setter);
descriptor: (Lcom/netflix/hystrix/HystrixCommand$Setter;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=13, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getfield com.netflix.hystrix.HystrixCommand$Setter.groupKey:Lcom/netflix/hystrix/HystrixCommandGroupKey;
aload 1
getfield com.netflix.hystrix.HystrixCommand$Setter.commandKey:Lcom/netflix/hystrix/HystrixCommandKey;
aload 1
getfield com.netflix.hystrix.HystrixCommand$Setter.threadPoolKey:Lcom/netflix/hystrix/HystrixThreadPoolKey;
aconst_null
aconst_null
aload 1
getfield com.netflix.hystrix.HystrixCommand$Setter.commandPropertiesDefaults:Lcom/netflix/hystrix/HystrixCommandProperties$Setter;
aload 1
getfield com.netflix.hystrix.HystrixCommand$Setter.threadPoolPropertiesDefaults:Lcom/netflix/hystrix/HystrixThreadPoolProperties$Setter;
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
invokespecial com.netflix.hystrix.HystrixCommand.<init>:(Lcom/netflix/hystrix/HystrixCommandGroupKey;Lcom/netflix/hystrix/HystrixCommandKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixCircuitBreaker;Lcom/netflix/hystrix/HystrixThreadPool;Lcom/netflix/hystrix/HystrixCommandProperties$Setter;Lcom/netflix/hystrix/HystrixThreadPoolProperties$Setter;Lcom/netflix/hystrix/HystrixCommandMetrics;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/strategy/properties/HystrixPropertiesStrategy;Lcom/netflix/hystrix/strategy/executionhook/HystrixCommandExecutionHook;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
0 2 1 setter Lcom/netflix/hystrix/HystrixCommand$Setter;
MethodParameters:
Name Flags
setter
void <init>(com.netflix.hystrix.HystrixCommandGroupKey, com.netflix.hystrix.HystrixCommandKey, com.netflix.hystrix.HystrixThreadPoolKey, com.netflix.hystrix.HystrixCircuitBreaker, com.netflix.hystrix.HystrixThreadPool, com.netflix.hystrix.HystrixCommandProperties$Setter, com.netflix.hystrix.HystrixThreadPoolProperties$Setter, com.netflix.hystrix.HystrixCommandMetrics, com.netflix.hystrix.AbstractCommand$TryableSemaphore, com.netflix.hystrix.AbstractCommand$TryableSemaphore, com.netflix.hystrix.strategy.properties.HystrixPropertiesStrategy, com.netflix.hystrix.strategy.executionhook.HystrixCommandExecutionHook);
descriptor: (Lcom/netflix/hystrix/HystrixCommandGroupKey;Lcom/netflix/hystrix/HystrixCommandKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixCircuitBreaker;Lcom/netflix/hystrix/HystrixThreadPool;Lcom/netflix/hystrix/HystrixCommandProperties$Setter;Lcom/netflix/hystrix/HystrixThreadPoolProperties$Setter;Lcom/netflix/hystrix/HystrixCommandMetrics;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/strategy/properties/HystrixPropertiesStrategy;Lcom/netflix/hystrix/strategy/executionhook/HystrixCommandExecutionHook;)V
flags: (0x0000)
Code:
stack=13, locals=13, args_size=13
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 start local 12 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
aload 8
aload 9
aload 10
aload 11
aload 12
invokespecial com.netflix.hystrix.AbstractCommand.<init>:(Lcom/netflix/hystrix/HystrixCommandGroupKey;Lcom/netflix/hystrix/HystrixCommandKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixCircuitBreaker;Lcom/netflix/hystrix/HystrixThreadPool;Lcom/netflix/hystrix/HystrixCommandProperties$Setter;Lcom/netflix/hystrix/HystrixThreadPoolProperties$Setter;Lcom/netflix/hystrix/HystrixCommandMetrics;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;Lcom/netflix/hystrix/strategy/properties/HystrixPropertiesStrategy;Lcom/netflix/hystrix/strategy/executionhook/HystrixCommandExecutionHook;)V
1: aload 0
new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield com.netflix.hystrix.HystrixCommand.executionThread:Ljava/util/concurrent/atomic/AtomicReference;
2: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield com.netflix.hystrix.HystrixCommand.interruptOnFutureCancel:Ljava/util/concurrent/atomic/AtomicBoolean;
3: return
end local 12 end local 11 end local 10 end local 9 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 4 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
0 4 1 group Lcom/netflix/hystrix/HystrixCommandGroupKey;
0 4 2 key Lcom/netflix/hystrix/HystrixCommandKey;
0 4 3 threadPoolKey Lcom/netflix/hystrix/HystrixThreadPoolKey;
0 4 4 circuitBreaker Lcom/netflix/hystrix/HystrixCircuitBreaker;
0 4 5 threadPool Lcom/netflix/hystrix/HystrixThreadPool;
0 4 6 commandPropertiesDefaults Lcom/netflix/hystrix/HystrixCommandProperties$Setter;
0 4 7 threadPoolPropertiesDefaults Lcom/netflix/hystrix/HystrixThreadPoolProperties$Setter;
0 4 8 metrics Lcom/netflix/hystrix/HystrixCommandMetrics;
0 4 9 fallbackSemaphore Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;
0 4 10 executionSemaphore Lcom/netflix/hystrix/AbstractCommand$TryableSemaphore;
0 4 11 propertiesStrategy Lcom/netflix/hystrix/strategy/properties/HystrixPropertiesStrategy;
0 4 12 executionHook Lcom/netflix/hystrix/strategy/executionhook/HystrixCommandExecutionHook;
MethodParameters:
Name Flags
group
key
threadPoolKey
circuitBreaker
threadPool
commandPropertiesDefaults
threadPoolPropertiesDefaults
metrics
fallbackSemaphore
executionSemaphore
propertiesStrategy
executionHook
protected abstract R run();
descriptor: ()Ljava/lang/Object;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.lang.Exception
Signature: ()TR;
protected R getFallback();
descriptor: ()Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.UnsupportedOperationException
dup
ldc "No fallback available."
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
Signature: ()TR;
protected final rx.Observable<R> getExecutionObservable();
descriptor: ()Lrx/Observable;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=1, args_size=1
start local 0 0: new com.netflix.hystrix.HystrixCommand$1
dup
aload 0
invokespecial com.netflix.hystrix.HystrixCommand$1.<init>:(Lcom/netflix/hystrix/HystrixCommand;)V
invokestatic rx.Observable.defer:(Lrx/functions/Func0;)Lrx/Observable;
1: new com.netflix.hystrix.HystrixCommand$2
dup
aload 0
invokespecial com.netflix.hystrix.HystrixCommand$2.<init>:(Lcom/netflix/hystrix/HystrixCommand;)V
invokevirtual rx.Observable.doOnSubscribe:(Lrx/functions/Action0;)Lrx/Observable;
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
Signature: ()Lrx/Observable<TR;>;
protected final rx.Observable<R> getFallbackObservable();
descriptor: ()Lrx/Observable;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.netflix.hystrix.HystrixCommand$3
dup
aload 0
invokespecial com.netflix.hystrix.HystrixCommand$3.<init>:(Lcom/netflix/hystrix/HystrixCommand;)V
invokestatic rx.Observable.defer:(Lrx/functions/Func0;)Lrx/Observable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
Signature: ()Lrx/Observable<TR;>;
public R execute();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.netflix.hystrix.HystrixCommand.queue:()Ljava/util/concurrent/Future;
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 3: aload 0
aload 1
invokevirtual com.netflix.hystrix.HystrixCommand.decomposeException:(Ljava/lang/Exception;)Ljava/lang/Throwable;
invokestatic com.netflix.hystrix.util.Exceptions.sneakyThrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
3 4 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.Exception
Signature: ()TR;
public java.util.concurrent.Future<R> queue();
descriptor: ()Ljava/util/concurrent/Future;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual com.netflix.hystrix.HystrixCommand.toObservable:()Lrx/Observable;
invokevirtual rx.Observable.toBlocking:()Lrx/observables/BlockingObservable;
invokevirtual rx.observables.BlockingObservable.toFuture:()Ljava/util/concurrent/Future;
astore 1
start local 1 1: new com.netflix.hystrix.HystrixCommand$4
dup
aload 0
aload 1
invokespecial com.netflix.hystrix.HystrixCommand$4.<init>:(Lcom/netflix/hystrix/HystrixCommand;Ljava/util/concurrent/Future;)V
astore 2
start local 2 2: aload 2
invokeinterface java.util.concurrent.Future.isDone:()Z
ifeq 16
3: aload 2
invokeinterface java.util.concurrent.Future.get:()Ljava/lang/Object;
pop
4: aload 2
5: areturn
6: StackMap locals: com.netflix.hystrix.HystrixCommand java.util.concurrent.Future java.util.concurrent.Future
StackMap stack: java.lang.Exception
astore 3
start local 3 7: aload 0
aload 3
invokevirtual com.netflix.hystrix.HystrixCommand.decomposeException:(Ljava/lang/Exception;)Ljava/lang/Throwable;
astore 4
start local 4 8: aload 4
instanceof com.netflix.hystrix.exception.HystrixBadRequestException
ifeq 10
9: aload 2
areturn
10: StackMap locals: java.lang.Exception java.lang.Throwable
StackMap stack:
aload 4
instanceof com.netflix.hystrix.exception.HystrixRuntimeException
ifeq 15
11: aload 4
checkcast com.netflix.hystrix.exception.HystrixRuntimeException
astore 5
start local 5 12: invokestatic com.netflix.hystrix.HystrixCommand.$SWITCH_TABLE$com$netflix$hystrix$exception$HystrixRuntimeException$FailureType:()[I
aload 5
invokevirtual com.netflix.hystrix.exception.HystrixRuntimeException.getFailureType:()Lcom/netflix/hystrix/exception/HystrixRuntimeException$FailureType;
invokevirtual com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.ordinal:()I
iaload
tableswitch { // 2 - 3
2: 13
3: 13
default: 14
}
13: StackMap locals: com.netflix.hystrix.exception.HystrixRuntimeException
StackMap stack:
aload 2
areturn
14: StackMap locals:
StackMap stack:
aload 5
athrow
end local 5 15: StackMap locals:
StackMap stack:
aload 4
invokestatic com.netflix.hystrix.util.Exceptions.sneakyThrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 end local 3 16: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
1 17 1 delegate Ljava/util/concurrent/Future<TR;>;
2 17 2 f Ljava/util/concurrent/Future<TR;>;
7 16 3 e Ljava/lang/Exception;
8 16 4 t Ljava/lang/Throwable;
12 15 5 hre Lcom/netflix/hystrix/exception/HystrixRuntimeException;
Exception table:
from to target type
3 5 6 Class java.lang.Exception
Signature: ()Ljava/util/concurrent/Future<TR;>;
protected java.lang.String getFallbackMethodName();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "getFallback"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
protected boolean isFallbackUserDefined();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=1
start local 0 0: getstatic com.netflix.hystrix.HystrixCommand.commandContainsFallback:Ljava/util/concurrent/ConcurrentHashMap;
aload 0
getfield com.netflix.hystrix.HystrixCommand.commandKey:Lcom/netflix/hystrix/HystrixCommandKey;
invokevirtual java.util.concurrent.ConcurrentHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
3: StackMap locals: java.lang.Boolean
StackMap stack:
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc "getFallback"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
pop
4: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 2
start local 2 5: goto 8
end local 2 StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
6: pop
7: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 2
start local 2 8: StackMap locals: java.lang.Boolean
StackMap stack:
getstatic com.netflix.hystrix.HystrixCommand.commandContainsFallback:Ljava/util/concurrent/ConcurrentHashMap;
aload 0
getfield com.netflix.hystrix.HystrixCommand.commandKey:Lcom/netflix/hystrix/HystrixCommandKey;
aload 2
invokevirtual java.util.concurrent.ConcurrentHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 2
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
1 10 1 containsFromMap Ljava/lang/Boolean;
5 6 2 toInsertIntoMap Ljava/lang/Boolean;
8 10 2 toInsertIntoMap Ljava/lang/Boolean;
Exception table:
from to target type
3 5 6 Class java.lang.NoSuchMethodException
protected boolean commandIsScalar();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/netflix/hystrix/HystrixCommand<TR;>;
public java.lang.Throwable getExecutionException();
descriptor: ()Ljava/lang/Throwable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getExecutionException:()Ljava/lang/Throwable;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.netflix.hystrix.HystrixCommandKey getCommandKey();
descriptor: ()Lcom/netflix/hystrix/HystrixCommandKey;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getCommandKey:()Lcom/netflix/hystrix/HystrixCommandKey;
areturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isExecutionComplete();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.isExecutionComplete:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isFailedExecution();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.isFailedExecution:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public rx.Observable observe();
descriptor: ()Lrx/Observable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.observe:()Lrx/Observable;
areturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isResponseShortCircuited();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.isResponseShortCircuited:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public int getNumberEmissions();
descriptor: ()I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getNumberEmissions:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isResponseFromFallback();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.isResponseFromFallback:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public com.netflix.hystrix.HystrixCommandGroupKey getCommandGroup();
descriptor: ()Lcom/netflix/hystrix/HystrixCommandGroupKey;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getCommandGroup:()Lcom/netflix/hystrix/HystrixCommandGroupKey;
areturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isExecutedInThread();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.isExecutedInThread:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public com.netflix.hystrix.HystrixCommandProperties getProperties();
descriptor: ()Lcom/netflix/hystrix/HystrixCommandProperties;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getProperties:()Lcom/netflix/hystrix/HystrixCommandProperties;
areturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isResponseTimedOut();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.isResponseTimedOut:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public int getNumberFallbackEmissions();
descriptor: ()I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getNumberFallbackEmissions:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public int getExecutionTimeInMilliseconds();
descriptor: ()I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getExecutionTimeInMilliseconds:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public com.netflix.hystrix.HystrixThreadPoolKey getThreadPoolKey();
descriptor: ()Lcom/netflix/hystrix/HystrixThreadPoolKey;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getThreadPoolKey:()Lcom/netflix/hystrix/HystrixThreadPoolKey;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.util.List getExecutionEvents();
descriptor: ()Ljava/util/List;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getExecutionEvents:()Ljava/util/List;
areturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isResponseFromCache();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.isResponseFromCache:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isSuccessfulExecution();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.isSuccessfulExecution:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public com.netflix.hystrix.ExecutionResult$EventCounts getEventCounts();
descriptor: ()Lcom/netflix/hystrix/ExecutionResult$EventCounts;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getEventCounts:()Lcom/netflix/hystrix/ExecutionResult$EventCounts;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Throwable getFailedExecutionException();
descriptor: ()Ljava/lang/Throwable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getFailedExecutionException:()Ljava/lang/Throwable;
areturn
LocalVariableTable:
Start End Slot Name Signature
public com.netflix.hystrix.HystrixCollapserKey getOriginatingCollapserKey();
descriptor: ()Lcom/netflix/hystrix/HystrixCollapserKey;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getOriginatingCollapserKey:()Lcom/netflix/hystrix/HystrixCollapserKey;
areturn
LocalVariableTable:
Start End Slot Name Signature
public int getNumberCollapsed();
descriptor: ()I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getNumberCollapsed:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public rx.Observable toObservable();
descriptor: ()Lrx/Observable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.toObservable:()Lrx/Observable;
areturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isResponseRejected();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.isResponseRejected:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public long getCommandRunStartTimeInNanos();
descriptor: ()J
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getCommandRunStartTimeInNanos:()J
lreturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isCircuitBreakerOpen();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.isCircuitBreakerOpen:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isResponseSemaphoreRejected();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.isResponseSemaphoreRejected:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
public com.netflix.hystrix.HystrixCommandMetrics getMetrics();
descriptor: ()Lcom/netflix/hystrix/HystrixCommandMetrics;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getMetrics:()Lcom/netflix/hystrix/HystrixCommandMetrics;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.String getPublicCacheKey();
descriptor: ()Ljava/lang/String;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.getPublicCacheKey:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isResponseThreadPoolRejected();
descriptor: ()Z
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.netflix.hystrix.AbstractCommand.isResponseThreadPoolRejected:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static int[] $SWITCH_TABLE$com$netflix$hystrix$exception$HystrixRuntimeException$FailureType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.netflix.hystrix.HystrixCommand.$SWITCH_TABLE$com$netflix$hystrix$exception$HystrixRuntimeException$FailureType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.values:()[Lcom/netflix/hystrix/exception/HystrixRuntimeException$FailureType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.BAD_REQUEST_EXCEPTION:Lcom/netflix/hystrix/exception/HystrixRuntimeException$FailureType;
invokevirtual com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.COMMAND_EXCEPTION:Lcom/netflix/hystrix/exception/HystrixRuntimeException$FailureType;
invokevirtual com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.REJECTED_SEMAPHORE_EXECUTION:Lcom/netflix/hystrix/exception/HystrixRuntimeException$FailureType;
invokevirtual com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.ordinal:()I
bipush 6
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.REJECTED_SEMAPHORE_FALLBACK:Lcom/netflix/hystrix/exception/HystrixRuntimeException$FailureType;
invokevirtual com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.ordinal:()I
bipush 7
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.REJECTED_THREAD_EXECUTION:Lcom/netflix/hystrix/exception/HystrixRuntimeException$FailureType;
invokevirtual com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.ordinal:()I
iconst_5
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.SHORTCIRCUIT:Lcom/netflix/hystrix/exception/HystrixRuntimeException$FailureType;
invokevirtual com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.ordinal:()I
iconst_4
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.TIMEOUT:Lcom/netflix/hystrix/exception/HystrixRuntimeException$FailureType;
invokevirtual com.netflix.hystrix.exception.HystrixRuntimeException$FailureType.ordinal:()I
iconst_3
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
dup
putstatic com.netflix.hystrix.HystrixCommand.$SWITCH_TABLE$com$netflix$hystrix$exception$HystrixRuntimeException$FailureType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
}
Signature: <R:Ljava/lang/Object;>Lcom/netflix/hystrix/AbstractCommand<TR;>;Lcom/netflix/hystrix/HystrixExecutable<TR;>;Lcom/netflix/hystrix/HystrixInvokableInfo<TR;>;Lcom/netflix/hystrix/HystrixObservable<TR;>;
SourceFile: "HystrixCommand.java"
NestMembers:
com.netflix.hystrix.HystrixCommand$1 com.netflix.hystrix.HystrixCommand$2 com.netflix.hystrix.HystrixCommand$3 com.netflix.hystrix.HystrixCommand$4 com.netflix.hystrix.HystrixCommand$Setter
InnerClasses:
abstract TryableSemaphore = com.netflix.hystrix.AbstractCommand$TryableSemaphore of com.netflix.hystrix.AbstractCommand
public EventCounts = com.netflix.hystrix.ExecutionResult$EventCounts of com.netflix.hystrix.ExecutionResult
com.netflix.hystrix.HystrixCommand$1
com.netflix.hystrix.HystrixCommand$2
com.netflix.hystrix.HystrixCommand$3
com.netflix.hystrix.HystrixCommand$4
public final Setter = com.netflix.hystrix.HystrixCommand$Setter of com.netflix.hystrix.HystrixCommand
public Setter = com.netflix.hystrix.HystrixCommandProperties$Setter of com.netflix.hystrix.HystrixCommandProperties
public Setter = com.netflix.hystrix.HystrixThreadPoolProperties$Setter of com.netflix.hystrix.HystrixThreadPoolProperties
public final FailureType = com.netflix.hystrix.exception.HystrixRuntimeException$FailureType of com.netflix.hystrix.exception.HystrixRuntimeException