2010-03-18 2 views
1

아파치 미나 (Apache Mina)를 사용하여 소켓 서버를 구축 중이며 스레드 모델 구성에 대한 이해를 돕고 자합니다. 내가 현재 읽고 오전 :Apache Mina를 사용하는 Java 소켓 서버 - 스레딩 설정 방법?

http://mina.apache.org/configuring-thread-model.html

내가 알고있는 것처럼, 그것은 무언가 같이, 각 IOService을위한 멀티 스레딩을 사용하는 것이 가장 좋습니다 :

SocketAcceptor acceptor = new SocketAcceptor( 
    Runtime.getRuntime().availableProcessors() + 1, 
    Executors.newCachedThreadPool() 
); 

나는 또한 필터 체인에 서비스 이벤트에 여러 스레드를 사용하는 것이 가장 이해 :

SocketAcceptor acceptor = ...; 
DefaultIoFilterChainBuilder filterChainBuilder = 
    acceptor.getDefaultConfig().getFilterChain(); 
filterChainBuilder.addLast("threadPool", 
    new ExecutorFilter(Executors.newCachedThreadPool()) 
); 

이가 맞습니까?

그렇다면 이벤트 처리를위한 최적의 스레드 수에 대한 경험이 있습니까?

+0

예, ExecutorFilter를 사용해야합니다. – accuya

답변

3

제가 생각해 낸 해결책은 멀티 스레딩 자체를 관리하는 Mina 2.0을 사용하는 것이 었습니다. 완벽하게 작동합니다.