grpc-java:设置enableRetry和maxRetryAttempt不重试

时间:2019-03-30 05:39:45

标签: grpc grpc-java

Grpc客户端未重试,失败并显示UNAVAILABLE:io异常。目前,我正在设置retry和maxRetryAttempt,如下所示:

   public static void apples(){
        Scanner input = new Scanner(System.in);

        System.out.println("Enter your integer: ");
        int number = input.nextInt();

        if(number == 1){
            System.out.println("0");
        }
        else if (number == 3) {
            System.out.println("f");
        }

        else if (number == 5) {
            System.out.println("-l");
        }

         else if (number == 7) {
            System.out.println("V");
        }
        else if (number == 9) {
            System.out.println("-/");
        }
        else if (number == 11) {
            System.out.println("()");
        }
        else if (number == 13) {
            System.out.println("()");
        }
        else if (number == 15) {
            System.out.println("^");
        }
        else if (number == 17) {
            System.out.println("E");
        }
         else if (number == 19) {
            System.out.println("=");
        }
        else if (number == 21) {
            System.out.println("x");
        }
        else if (number == 23) {
            System.out.println("y");
        }
        System.out.println("int: " +  number);
        };

io.grpc:grpc-netty:1.18.0是否支持enableRetry和maxRetryAttempt?

谢谢。

1 个答案:

答案 0 :(得分:0)

enableRetry()maxRetryAttempts()都没有根据方法配置重试。 enableRetry()启用了整个“子系统”,以便遵循配置。最终默认情况下将启用该功能,但这并不意味着所有方法都会重试。 maxRetryAttempts() 限制配置;如果配置说执行5,并且您将限制设置为3,则仅完成3。但这并不会增加重试次数。

我一直指的“配置”来自服务配置。有关配置键,请参见gRFC A6 Client Retries。默认情况下,当前也不启用服务配置本身。对于重试,最简单的尝试方法是使用v1.20.0(即将发布)中添加的ManagedChannelBuilder.defaultServiceConfig(Map serviceConfig)。但是,您也可以在DNS中使用TXT记录,并在执行二进制文件时传递-Dio.grpc.internal.DnsNameResolverProvider.enable_service_config=true

重试和服务配置目前都处于实验阶段。