diff --git a/spring-grpc-core/src/main/java/org/springframework/grpc/client/NettyGrpcChannelFactory.java b/spring-grpc-core/src/main/java/org/springframework/grpc/client/NettyGrpcChannelFactory.java index 3d805baa..49ee592a 100644 --- a/spring-grpc-core/src/main/java/org/springframework/grpc/client/NettyGrpcChannelFactory.java +++ b/spring-grpc-core/src/main/java/org/springframework/grpc/client/NettyGrpcChannelFactory.java @@ -20,14 +20,16 @@ import io.grpc.ChannelCredentials; import io.grpc.netty.NettyChannelBuilder; +import io.netty.channel.MultiThreadIoEventLoopGroup; import io.netty.channel.epoll.EpollDomainSocketChannel; -import io.netty.channel.epoll.EpollEventLoopGroup; +import io.netty.channel.epoll.EpollIoHandler; import io.netty.channel.unix.DomainSocketAddress; /** * {@link GrpcChannelFactory} that creates Netty-based gRPC channels. * * @author Chris Bono + * @author Andrey Litvitski */ public class NettyGrpcChannelFactory extends DefaultGrpcChannelFactory { @@ -48,7 +50,7 @@ protected NettyChannelBuilder newChannelBuilder(String target, ChannelCredential target = target.substring(5); return NettyChannelBuilder.forAddress(new DomainSocketAddress(target)) .channelType(EpollDomainSocketChannel.class) - .eventLoopGroup(new EpollEventLoopGroup()); + .eventLoopGroup(new MultiThreadIoEventLoopGroup(EpollIoHandler.newFactory())); } return NettyChannelBuilder.forTarget(target, credentials); }