Thanks Peter, Now it make sense. Is there other filter that not implementing this blocking mechanism. I have slightly different uses. Which each message should be process independently in a different thread even if this come from the same connection.
On Wed, Jun 11, 2008 at 11:41 AM, peter royal <[EMAIL PROTECTED]> wrote: > On Jun 5, 2008, at 11:02 AM, Johny Kadarisman wrote: > >> In my client implementation, I set manual threading model, and insert >> executorFilter() in my socketConnector config. On certain condition, in my >> handler, I will block in 'ArrayBlockingQueue'. during this situation, I >> don't see IoProcessor creating a new handler thread to process a new >> message >> coming from server. I can see the processor receive the new message coming >> from server on LoggingFilter. >> >> If the blocking code is commented out, the new handler thread will be >> created. Is IoHandler should only run on one thread? Did I do something >> wrong? >> > > Is this all on the same connection? > > The standard way an ExecutorFilter works is to process all data for a given > connection in order. So if you block in the IOHandler after the > ExecutorFilter for a given connection, you won't see subsequent messages > processed until the previous message is complete. Make sense? > > -pete > > > -- > (peter.royal|osi)@pobox.com - http://fotap.org/~osi<http://fotap.org/%7Eosi> > >
