anas Ahmed wrote:
> Hello all,
> As i have  read from Servlet 3.0 specification about filters "A Filter and 
> the target servlet or resource at the end of the filter chain must execute in 
> the same invocation thread".
> 
> This mean if there are many Async Requests which are connected to filters, 
> many filters will be init but  not destroyed until response come back or 
> filter work finish.

My understanding is that the filter processing in the outbound direction
will take place after the Servlet completes (without generating a response).

The filters will not have to wait until the Async processing completes.
However, any wrappers they put in place may have to remain until the
async processing completes.

> As we know Tomcat uses thread per request through Java NIO.
Tomcat uses one thread per request for BIO, NIO and APR/native.
The differences are with connections where BIO uses 1 thread per
connection (including those in keep-alive) whereas NIO and APR/native
use polling threads that each maintain a number of connections.

> More simultaneous requests(connected to filters) cause more threads to be 
> consumed,
More concurrent requests does equal more threads but the number of
filters is not a factor.

> which cancels out the benefit of the thread-per-request approach to a high 
> degree.
Given the number of filters is not a factor, I don't think this is the case.

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to