0

我正在开发一个用 Java 编写的 gRPC 服务器。它用于NettyServerBuilder启动/运行服务器。我想知道如何setReuseAddress(true)为服务器设置,以便它可以快速重启(在崩溃或维护重启时。)

这是当前的启动:

import io.grpc.Server;
import io.grpc.netty.shaded.io.grpc.netty.NettyServerBuilder;

//...

private Server server;

//...

server = NettyServerBuilder
                .forPort(port)
                .permitKeepAliveWithoutCalls(true)
                .permitKeepAliveTime(5, TimeUnit.SECONDS)
                .addService(this.queryService)
                .addService(this.commandService)
                .build();
4

1 回答 1

2

这应该可以解决问题:

Server server = NettyServerBuilder
            .forPort(port)
            // ...
            .withChildOption(ChannelOption.SO_REUSEADDR, true)
            .build();
于 2019-11-29T10:40:54.903 回答