class com.netflix.hystrix.AbstractCommand$18 implements rx.functions.Func0<rx.Observable<R>>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.netflix.hystrix.AbstractCommand$18
super_class: java.lang.Object
{
final com.netflix.hystrix.AbstractCommand this$0;
descriptor: Lcom/netflix/hystrix/AbstractCommand;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final com.netflix.hystrix.AbstractCommand val$_cmd;
descriptor: Lcom/netflix/hystrix/AbstractCommand;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.netflix.hystrix.AbstractCommand, com.netflix.hystrix.AbstractCommand);
descriptor: (Lcom/netflix/hystrix/AbstractCommand;Lcom/netflix/hystrix/AbstractCommand;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 0: aload 0
aload 1
putfield com.netflix.hystrix.AbstractCommand$18.this$0:Lcom/netflix/hystrix/AbstractCommand;
aload 0
aload 2
putfield com.netflix.hystrix.AbstractCommand$18.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/netflix/hystrix/AbstractCommand$18;
MethodParameters:
Name Flags
this$0 final
val$_cmd final
public rx.Observable<R> call();
descriptor: ()Lrx/Observable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.netflix.hystrix.AbstractCommand$18.this$0:Lcom/netflix/hystrix/AbstractCommand;
aload 0
getfield com.netflix.hystrix.AbstractCommand$18.this$0:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.executionResult:Lcom/netflix/hystrix/ExecutionResult;
invokevirtual com.netflix.hystrix.ExecutionResult.setExecutionOccurred:()Lcom/netflix/hystrix/ExecutionResult;
putfield com.netflix.hystrix.AbstractCommand.executionResult:Lcom/netflix/hystrix/ExecutionResult;
1: aload 0
getfield com.netflix.hystrix.AbstractCommand$18.this$0:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.commandState:Ljava/util/concurrent/atomic/AtomicReference;
getstatic com.netflix.hystrix.AbstractCommand$CommandState.OBSERVABLE_CHAIN_CREATED:Lcom/netflix/hystrix/AbstractCommand$CommandState;
getstatic com.netflix.hystrix.AbstractCommand$CommandState.USER_CODE_EXECUTED:Lcom/netflix/hystrix/AbstractCommand$CommandState;
invokevirtual java.util.concurrent.atomic.AtomicReference.compareAndSet:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 3
2: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "execution attempted while in state : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.netflix.hystrix.AbstractCommand$18.this$0:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.commandState:Ljava/util/concurrent/atomic/AtomicReference;
invokevirtual java.util.concurrent.atomic.AtomicReference.get:()Ljava/lang/Object;
checkcast com.netflix.hystrix.AbstractCommand$CommandState
invokevirtual com.netflix.hystrix.AbstractCommand$CommandState.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
invokestatic rx.Observable.error:(Ljava/lang/Throwable;)Lrx/Observable;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield com.netflix.hystrix.AbstractCommand$18.this$0:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.metrics:Lcom/netflix/hystrix/HystrixCommandMetrics;
aload 0
getfield com.netflix.hystrix.AbstractCommand$18.this$0:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.commandKey:Lcom/netflix/hystrix/HystrixCommandKey;
aload 0
getfield com.netflix.hystrix.AbstractCommand$18.this$0:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.threadPoolKey:Lcom/netflix/hystrix/HystrixThreadPoolKey;
getstatic com.netflix.hystrix.HystrixCommandProperties$ExecutionIsolationStrategy.SEMAPHORE:Lcom/netflix/hystrix/HystrixCommandProperties$ExecutionIsolationStrategy;
invokevirtual com.netflix.hystrix.HystrixCommandMetrics.markCommandStart:(Lcom/netflix/hystrix/HystrixCommandKey;Lcom/netflix/hystrix/HystrixThreadPoolKey;Lcom/netflix/hystrix/HystrixCommandProperties$ExecutionIsolationStrategy;)V
4: aload 0
getfield com.netflix.hystrix.AbstractCommand$18.this$0:Lcom/netflix/hystrix/AbstractCommand;
aload 0
getfield com.netflix.hystrix.AbstractCommand$18.this$0:Lcom/netflix/hystrix/AbstractCommand;
invokevirtual com.netflix.hystrix.AbstractCommand.getCommandKey:()Lcom/netflix/hystrix/HystrixCommandKey;
invokestatic com.netflix.hystrix.Hystrix.startCurrentThreadExecutingCommand:(Lcom/netflix/hystrix/HystrixCommandKey;)Lrx/functions/Action0;
putfield com.netflix.hystrix.AbstractCommand.endCurrentThreadExecutingCommand:Lrx/functions/Action0;
5: aload 0
getfield com.netflix.hystrix.AbstractCommand$18.this$0:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.executionHook:Lcom/netflix/hystrix/strategy/executionhook/HystrixCommandExecutionHook;
aload 0
getfield com.netflix.hystrix.AbstractCommand$18.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
invokevirtual com.netflix.hystrix.strategy.executionhook.HystrixCommandExecutionHook.onRunStart:(Lcom/netflix/hystrix/HystrixInvokable;)V
6: aload 0
getfield com.netflix.hystrix.AbstractCommand$18.this$0:Lcom/netflix/hystrix/AbstractCommand;
getfield com.netflix.hystrix.AbstractCommand.executionHook:Lcom/netflix/hystrix/strategy/executionhook/HystrixCommandExecutionHook;
aload 0
getfield com.netflix.hystrix.AbstractCommand$18.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
invokevirtual com.netflix.hystrix.strategy.executionhook.HystrixCommandExecutionHook.onExecutionStart:(Lcom/netflix/hystrix/HystrixInvokable;)V
7: aload 0
getfield com.netflix.hystrix.AbstractCommand$18.this$0:Lcom/netflix/hystrix/AbstractCommand;
aload 0
getfield com.netflix.hystrix.AbstractCommand$18.val$_cmd:Lcom/netflix/hystrix/AbstractCommand;
invokevirtual com.netflix.hystrix.AbstractCommand.getUserExecutionObservable:(Lcom/netflix/hystrix/AbstractCommand;)Lrx/Observable;
8: areturn
9: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
start local 1 10: aload 1
invokestatic rx.Observable.error:(Ljava/lang/Throwable;)Lrx/Observable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/netflix/hystrix/AbstractCommand$18;
10 11 1 ex Ljava/lang/Throwable;
Exception table:
from to target type
5 8 9 Class java.lang.Throwable
Signature: ()Lrx/Observable<TR;>;
public java.lang.Object call();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual com.netflix.hystrix.AbstractCommand$18.call:()Lrx/Observable;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
Signature: Ljava/lang/Object;Lrx/functions/Func0<Lrx/Observable<TR;>;>;
SourceFile: "AbstractCommand.java"
EnclosingMethod: com.netflix.hystrix.AbstractCommand.executeCommandWithSpecifiedIsolation:(Lcom/netflix/hystrix/AbstractCommand;)Lrx/Observable;
NestHost: com.netflix.hystrix.AbstractCommand
InnerClasses:
com.netflix.hystrix.AbstractCommand$18
protected final CommandState = com.netflix.hystrix.AbstractCommand$CommandState of com.netflix.hystrix.AbstractCommand
public final ExecutionIsolationStrategy = com.netflix.hystrix.HystrixCommandProperties$ExecutionIsolationStrategy of com.netflix.hystrix.HystrixCommandProperties