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

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

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

Hystrix.startCurrentThreadExecutingCommand介绍

暂无

代码示例

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

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

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

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

相关文章