java GRPC Netty协议不支持地址族

utugiqy6  于 2023-02-28  发布在  Java
关注(0)|答案(1)|浏览(271)

我在部署到远程主机时收到以下错误:

Wrapped by: io.grpc.netty.shaded.io.netty.channel.AbstractChannel$AnnotatedConnectException: connect(..) failed: Address family not supported by protocol: /somegrpcservice-grpc.abc.com:443
Wrapped by: io.grpc.StatusRuntimeException: UNAVAILABLE: io exception
    at io.grpc.stub.ClientCalls.toStatusRuntimeException(ClientCalls.java:271)
    at io.grpc.stub.ClientCalls.getUnchecked(ClientCalls.java:252)
    at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:165)

我正在使用fatjar进行部署,当在本地运行时一切正常。只有当服务部署到远程主机时才是这样。我已经尝试过一些事情:

  • 从1.30.0到1.53.0的各种版本的io.grpc:grpc-netty-shaded
  • 从远程主机运行Ncat并成功连接
  • 正在设置系统属性:- Djava.net.preferIPv4堆栈=真

这些似乎都没有什么不同。如果其他人有任何想法,请表示感谢。谢谢!

mrfwxfqh

mrfwxfqh1#

在这里找到了我的特殊情况的解决方案:
gRPC UnsupportedAddressTypeException, but only when packaged with shadowJar
显然,我的Fat jar被错误地打包,我需要使用shadowJar中的mergeServiceFiles()函数来合并我的服务文件。

相关问题