com.netflix.hystrix.Hystrix.startCurrentThreadExecutingCommand()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(2.2k)|赞(0)|评价(0)|浏览(149)

本文整理了Java中com.netflix.hystrix.Hystrix.startCurrentThreadExecutingCommand()方法的一些代码示例,展示了Hystrix.startCurrentThreadExecutingCommand()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Hystrix.startCurrentThreadExecutingCommand()方法的具体详情如下:
包路径:com.netflix.hystrix.Hystrix
类名称:Hystrix
方法名:startCurrentThreadExecutingCommand

Hystrix.startCurrentThreadExecutingCommand介绍

暂无

代码示例

代码示例来源:origin: PipelineAI/pipeline

@Override
  public Observable<R> call() {
    executionResult = executionResult.setExecutionOccurred();
    if (!commandState.compareAndSet(CommandState.OBSERVABLE_CHAIN_CREATED, CommandState.USER_CODE_EXECUTED)) {
      return Observable.error(new IllegalStateException("execution attempted while in state : " + commandState.get().name()));
    }
    metrics.markCommandStart(commandKey, threadPoolKey, ExecutionIsolationStrategy.SEMAPHORE);
    // semaphore isolated
    // store the command that is being run
    endCurrentThreadExecutingCommand = Hystrix.startCurrentThreadExecutingCommand(getCommandKey());
    try {
      executionHook.onRunStart(_cmd);
      executionHook.onExecutionStart(_cmd);
      return getUserExecutionObservable(_cmd);  //the getUserExecutionObservable method already wraps sync exceptions, so this shouldn't throw
    } catch (Throwable ex) {
      //If the above hooks throw, then use that as the result of the run method
      return Observable.error(ex);
    }
  }
});

代码示例来源:origin: com.netflix.hystrix/hystrix-core

@Override
  public Observable<R> call() {
    executionResult = executionResult.setExecutionOccurred();
    if (!commandState.compareAndSet(CommandState.OBSERVABLE_CHAIN_CREATED, CommandState.USER_CODE_EXECUTED)) {
      return Observable.error(new IllegalStateException("execution attempted while in state : " + commandState.get().name()));
    }
    metrics.markCommandStart(commandKey, threadPoolKey, ExecutionIsolationStrategy.SEMAPHORE);
    // semaphore isolated
    // store the command that is being run
    endCurrentThreadExecutingCommand = Hystrix.startCurrentThreadExecutingCommand(getCommandKey());
    try {
      executionHook.onRunStart(_cmd);
      executionHook.onExecutionStart(_cmd);
      return getUserExecutionObservable(_cmd);  //the getUserExecutionObservable method already wraps sync exceptions, so this shouldn't throw
    } catch (Throwable ex) {
      //If the above hooks throw, then use that as the result of the run method
      return Observable.error(ex);
    }
  }
});

相关文章