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?
谢谢。
答案 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
。
重试和服务配置目前都处于实验阶段。