有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java如何在Spring Boot中增加grpc服务器的消息大小

我有一个Spring Boot micro服务,它使用LogNet/grpc-spring-boot-starter通过GRPC进行监听

默认情况下,GRPC有效负载的最大大小为4MB。在客户端,设置响应负载大小很容易,但我想在服务器端增加请求大小

在客户端

ManagedChannel channel = 
   NettyChannelBuilder.forAddress(...)
                        .maxInboundMessageSize(NEW_MAX_MESSAGE_SIZE).build();

按服务器代码:

@GRpcService
public class FooService extends FooServiceImplBase {

  @Override
  public void foo(GetRequest request, StreamObserver<GetResponse> responseObserver) {
    ...
  }
}

共 (1) 个答案

  1. # 1 楼答案

    定义一个ServerBuilderConfiguration,如下所示:

    @Component
    public class FooServerBuilderConfigurer extends GRpcServerBuilderConfigurer {
      public static final int NEW_MAX_MESSAGE_SIZE = 100 * 1024 * 1024; // 100MB
    
      @Override
      public void configure(ServerBuilder<?> serverBuilder) {
        serverBuilder.maxInboundMessageSize(NEW_MAX_MESSAGE_SIZE);
      }
    }