当前位置: 首页 > 知识库问答 >
问题:

从hystrix命令记录错误

陶泳
2023-03-14

通过@HystrixCommand注释,可以配置一个回退方法,在方法失败的情况下运行该方法。

    public Link defaultDogeLink(Account account) {
         return null;
    }

    @HystrixCommand(fallbackMethod = "defaultDogeLink")
    public Link buildDogeLink(Account account) {
         // some code that may throw Runtime Exceptions
    }  

共有1个答案

丌官星渊
2023-03-14

我在hystrix-javanica的单元测试中找到了获取最后一个执行的hystrix命令的方法

public Link defaultDogeLink(Account account) {
     LOG.warn("exception occured while building doge link for account " + account, getCommand().getFailedExecutionException());
     return null;
}

@HystrixCommand(fallbackMethod = "defaultDogeLink")
public Link buildDogeLink(Account account) {
     // some code that may throw Runtime Exceptions
}  


private com.netflix.hystrix.HystrixInvokableInfo<?> getCommand() {
    return HystrixRequestLog.getCurrentRequest().getAllExecutedCommands().iterator().next();
}

它比预期的要冗长一些,但满足了我的要求。

 类似资料:
  • # 查看已下载的Docker镜像latest具体版本 # docker image inspect redis:latest|grep -i version docker image inspect 镜像名:latest|grep -i version # 容器日志过大处理 # Docker 的日志文件存在 /var/lib/docker/containers 目录中,通过下面的命令可以将日志文

  • 我们试图从Java程序调用Linux命令。我们能够从Java调用相当多的命令,包括和而没有任何问题。但是,失败。示例源代码如下: 引发的异常

  • 我真的很高兴看到在最新的Apache Camel版本2.18.0中通过DSL支持hystrix。我的问题是——现在如何命名hystrix命令? 假设如果我写 - Hystrix仪表板将注册“hystrix1”命令并显示它的状态,这是我想改变的一点。 Apache Camel的文档说——“命令键——用于识别hystrix命令。此选项无法配置,但被锁定为节点ID以使命令唯一。”。在他们的代码中,我看到

  • 本文向大家介绍Spring Cloud Hystrix入门和Hystrix命令原理分析,包括了Spring Cloud Hystrix入门和Hystrix命令原理分析的使用技巧和注意事项,需要的朋友参考一下 断路由器模式 在分布式架构中,当某个服务单元发生故障之后,通过断路由器的故障监控(类似熔断保险丝),向调用方返回一个错误响应,而不是长时间的等待。这样就不会使得线程因调用故障服务被长时间占用不

  • 问题内容: 简短版本: 是否可以将sdout和stderr记录在通过ssh远程执行的命令的本地端上,其顺序与在远程主机上输出的顺序相同?如果是这样,怎么办? 长版: 我试图记录远程执行的SSH命令(使用Jsch)的标准和错误输出,其顺序与远程命令的输出顺序相同。换句话说,如果远程命令将“ a”写入stdout,然后将“ b”写入stderr,然后将“ c”写入stdout,则我希望客户端(本地)端

  • Android 测试,发版前要对渠道版本进行渠道号验证、冒烟测试、签名检查! adb debugging 打印当前连接设备 adb devices 获取信息 获取手机系统系的信息,包括硬件和软件 adb shell getprop adb shell getprop ro.build.version.release #获取手机android系统版本 adb shell getpro