Ok, but why didn't we get just a pool of threads that accept and then directly process? I don't see how it is different… is it?
One difference I see is the fact that acceptor threads wait if there is no available processor threads, and then they drop the messages!
Does it mean we have as a requirement : messages must be dropped if there is no resources available to process them?
I'm trying to clarify the requirements we are trying to achieve independently of the current implementation that seems to have been written by many people at different times 
Question for you Christophe: are the classes in org.ow2.petals.component.framework.monitoring.defect only used to notify in case there is no thread available in the acceptor thread pool?
If the acceptor thread pool is refactored and we can be sure there always be thread available, can we remove the classes in org.ow2.petals.component.framework.monitoring.defect?
Thanks