2011-06-28 11 views
1

私は、executorFilterを使用してmessage_receivedイベントでスレッドを作成するApache Mina 2.0.4に基づいてアプリケーションを作成しました。Apache Mina ExecutorFilter

プロダクション環境で、ある時点でExecutorFilterがスレッドを作成していないことがわかりました。代わりに、要求メッセージをブロックします。

ExecutorFilterの使い方に関するガイドはありますか?私は、アプリケーションへの同時接続を最大100個まで期待しています。

これはExecutorFilterあなたはおそらく、スレッドが不足しているExecutorFilter {

public OneIExecutorFilter(IoEventType...eventTypes){ 
    super(eventTypes); 
} 

@Override 
public void sessionCreated(NextFilter nextFilter, IoSession session) 
     throws Exception {  
    super.sessionCreated(nextFilter, session); 
} 

@Override 
protected void fireEvent(IoFilterEvent event) {    
    super.fireEvent(event);  
} 

}

答えて

0

を拡張OneIExecutorFilter

パブリッククラスをクラス - どのオーバーライド私のクラスです。 maximumPoolSizeを100以上に設定してコンストラクタを使用してみてください。

+0

こんにちは、ありがとう、私は問題を解決することができました。 – user381878

0

このようにExecutorFilterをオーバーライドする必要はありません。これを代わりに試してみてください:

final int min = 1; 
final int max = Integer.MAX_VALUE; 

// RE: java.util.concurrent.Executors.newCachedThreadPool() 
Executor executor = new ThreadPoolExecutor(min, max, 60, TimeUnit.SECONDS, 
    new SynchronousQueue<Runnable>()) 

ExecutorFilter ef = new ExecutorFilter(executor); 
+0

アドバイスをいただきありがとうございます。私はすでに私の問題を解決したが、私は次のリリースでこれを試してみるだろう。 – user381878

関連する問題