I tried the same things you tried-- but I wanted to ask just in case there was 
something I was missing.  :)

As for the ExecutorFilter method-- I'm somewhat unclear of the relationship to 
the Executor used inside NioProcessor and the Executor(s) you can set through 
the Filter Chain.  Does the ExecutorFilter replace the use of the Executor used 
by NioProcessor?


-----Original Message-----
From: Christopher Popp [mailto:[email protected]] 
Sent: Thursday, December 31, 2009 14:52
To: [email protected]
Subject: Re: thread naming

There isn't an easy way to do it that I could find.  The NioSocketAcceptor 
creates an NioProcessor instance which defers to itssuperclass 
AbstractPollingIoProcessor for its nextThreadName method to determine the name 
of the threads.  I was going to suggest subclassing NioProcessor and having the 
NioSocketAcceptor utilize your class (which just implements nextThreadName), 
but it appears someone decided NioProcessor should be a final class.

The nextThreadName method of the AbstractPollingIoProcessor just names the 
thread based on the class, hence the NioProcessor-#.  In the constructor of 
NioSocketAcceptor, one option is to pass in an instance of an IoAcceptor.  So, 
you might think you could instantiate an NioProcessor, passing an executor that 
is using a custom implemented ThreadFactory that names threads for you...nope!  
When the AbstractPollingIoProcessor starts the threads, it renames them, losing 
whatever your ThreadFactory might've initialized them as.

So, maybe someone else sees some options, but since the NioProcessor class is 
final, it makes it difficult to have a clean solution, without having to 
duplicate code or modify the mina source.

---

If you're looking to rename the threads for the ExecutorFilter, that goes 
pretty smoothly.  Just pass in an OrderedThreadPoolExecutor with a 
ThreadFactory specified that allows for naming of the threads on creation.

Aaron Simmons wrote:
>Is it possible to override mina's default thread naming?  It defaults to 
>NioProcessor-1, NioProcessor-2, etc.  I'd like to have it be MyCustomString-1, 
>MyCustomString-2, etc.


      

Reply via email to