Je construis un SocketServer utilisant Apache Mina et je suis en train de comprendre la configuration du modèle de fil. Je lis actuellement:Java SocketServer utilisant Apache Mina - comment mettre en place le filetage?
http://mina.apache.org/configuring-thread-model.html
Comme je le comprends; il est préférable d'utiliser multithreading pour chaque IOService, quelque chose comme:
SocketAcceptor acceptor = new SocketAcceptor(
Runtime.getRuntime().availableProcessors() + 1,
Executors.newCachedThreadPool()
);
Je comprends aussi qu'il est préférable d'utiliser plusieurs threads pour les événements de service dans la chaîne de filtre:
SocketAcceptor acceptor = ...;
DefaultIoFilterChainBuilder filterChainBuilder =
acceptor.getDefaultConfig().getFilterChain();
filterChainBuilder.addLast("threadPool",
new ExecutorFilter(Executors.newCachedThreadPool())
);
Est-ce exact?
Si oui, est-il une règle de pouce pour le nombre optimal de threads pour traiter les événements?
Oui, vous devez utiliser ExecutorFilter. – accuya