java gRPC消息超出最大大小4194304:小行星5145024

wlsrxk51  于 2023-01-29  发布在  Java
关注(0)|答案(1)|浏览(549)

在grpc客户端上,我在调用服务器中的rpc方法后得到这个错误。我使用的是grpc-spring-boot-starter(java)。请告诉我如何增加响应大小。

at io.grpc.stub.ClientCalls.toStatusRuntimeException(ClientCalls.java:262)
        at io.grpc.stub.ClientCalls.getUnchecked(ClientCalls.java:243)
        at io.grpc.stub.ClientCalls.blockingUnaryCall(ClientCalls.java:156)
hgb9j2n6

hgb9j2n61#

  • 如果你使用的是官方grpc库,那么用下面的方法创建客户端。
ManagedChannel channel = ManagedChannelBuilder.forAddress("localhost", 9089).usePlaintext().maxInboundMessageSize(Integer.MAX_VALUE).build();

productsBlockingStub prodStub = productsGrpc.newBlockingStub(channel);

可以参考grpc项目here,只需要在formaxInboundMessageSize上添加修改即可

  • 如果您使用的是grpc-client-spring-boot-starter,那么您可以选择其中一种。
@GrpcClient("greeting-service")
    private GreetingServiceGrpc.GreetingServiceBlockingStub greetingServiceBlockingStub;

    greetingServiceBlockingStub = greetingServiceBlockingStub.withMaxInboundMessageSize(Integer.MAX_VALUE);
    greetingServiceBlockingStub = greetingServiceBlockingStub.withMaxOutboundMessageSize(Integer.MAX_VALUE);

或者把这个加到 prop 里。

grpc.client.greeting-service.max-inbound-message-size=9155241000
grpc.client.greeting-service.package-max-inbound-message-size=9155241000
grpc.client.greeting-service.server.max-inbound-message-size=9155241000

相关问题