我有一个基于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以上。

10-05 21:33