Hi all, I've just spent a while trying to figure out the threading behaviour of MINA in the ApacheDS replication service.
Eventually I found that it was using ThreadModel and that this is now not recommended. After investigation into adding an ExecutorFilter to the end of the IoFilter chain I found that it was only using one thread even though I had specified a ThreadPoolExecutor. I see that MINA 2 has an UnorderedExecutorFilter which allows multiple threads to process the incoming messages simultaneously, but do we need to have an ExecutorFilter at all? Couldn't we just use a single threaded executor with the UnorderedExecutorFilter like Executors.newSingleThreadExecutor()? Personally I think we should just replace ExecutorFilter with UnorderedExecutorFilter. The current behaviour seems very misleading. If this can't be done then perhaps we could update the documentation (specifically http://mina.apache.org/configuring-thread-model.html) to make it clear that ExecutorFilter will not make use of a ThreadPoolExecutor? Please correct me if I'm wrong with any of this - this is the first time I've even seen the Executor class :) Thanks, Martin