java - Java 如何在 Spring Boot 中增加 grpc 服务器的消息大小
问题描述
我有一个 Spring Boot 微服务,它使用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) {
...
}
}
解决方案
像这样定义一个 ServerBuilderConfigurer:
@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);
}
}
推荐阅读
- reactjs - 如何在 React 中隐藏/查看组件
- java - 使用 Cassandra 的 Java 驱动程序的多键空间
- ajax - 如何使用单选按钮单击 MVC 触发 Ajax 功能
- vba - VBA - 保存宏命名工作簿
- android - Android Vuforia Native SDK 摄像头方向 Front
- rest - 使用 SharePoint REST 讨论“LastReplyBy”
- ios - 调节 UITableView 滚动的最大速度?
- angular - 在 ng-Template 中渲染动态 HTML
- c# - C# WPF 组合框 TextElement.Foreground 绑定
- vba - 如何在不使用特定单元格的情况下记录宏范围?