2017-12-21 36 views
1

내 서버 Netty 기반 응용 프로그램에서 Oio를 사용하려고합니다. 현재 다음과 같이 사용하고 있습니다 :Oio Netty 서버의 스레드 수 제한

String host: String = //... 
int port = //... 

ServerBootstrap server = new ServerBootstrap() 
    .group(new OioEventLoopGroup(), new OioEventLoopGroup()) 
    .localAddress(new InetSocketAddress(host, port)) 
    .channel(OioServerSocketChannel.class) 
    .childHandler(new ChannelInitializer<Channel>() { 
     public void initChannel(Channel ch){ 
     ch.pipeline() 
     //adding handlers 
     } 
    }) 
server.bind().sync() 

문제는 아무런 경계도없이 커질 것입니다. 64 개 이상의 클라이언트가 연결을 시도 할 경우 뭔가를하고 싶습니다 (연결이 거부 된 것으로 응답했을 가능성이 높음)

Netty Oio의 스레드 수를 제어하는 ​​방법이 있습니까?

답변

2

당신은 아래의 생성자 문서에
public OioEventLoopGroup(int maxChannels)
또는

public OioEventLoopGroup(int maxChannels, 
         java.util.concurrent.ThreadFactory threadFactory) 

Link 중 하나를 사용 즉 한계로 OioEventGroup을 만드는 시도 할 수 있습니다.

현재 스레드를 제한없이 만들므로 스레드는 아무런 제약없이 커지고 있습니다.