我有一个基于Apache Mina 2.0.4的应用程序,其中使用ExecutorFilter在message_received事件上创建线程。
我发现在生产环境中,ExecutorFilter有时无法创建线程。相反,它阻止了请求消息。
可以提供任何有关如何正确使用ExecutorFilter的指南吗?我期望最多100个同时连接到我的应用程序。
这是我的类,它覆盖ExecutorFilter类-
public class OneIExecutorFilter extends 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);
}
}
最佳答案
您可能用完了线程。尝试使用ExecutorFilter(int maximumPoolSize, IoEventType... eventTypes)
构造函数,并且maximumPoolSize
设置为100以上。