Hi everybody

Our application uses a number of NioSocketAcceptor, instantiated using the
default constructor. AFAIK this will create N acceptor thread pools (via
Executors.newCachedThreadPool()) and N processor pools
(SimpleIoProcessorPool), where N is the number of acceptors. Each processor
will then serve a session.

Resource-wise this doesn't seem to be very efficient and I'm thinking of
creating a single acceptor, as well a single processor thread pool, to be
shared by every IoService.

Now, is this the recommended pattern here?

One thing left is the size of the processor thread pool: why should it be
related to the number of cores, while ExecutorFilter's pool doesn't?

Speaking of which, given that each acceptor in our app serve basically just
one session, would it make sense to use such a filter? I wouldn't think so.
In any case, would it be safe/desiderable to share executors between
ExecutorFilters and IoServices ?

Sorry for the maybe naive questions but I haven't found much on this topic
around and I'm fairly new here...

I'm running 2.0.0M6, on windows 2003 servers.

Many thanks, cheers
Francesco

Reply via email to