Servlet 3 spec and ThreadLocal
        Posted  
        
            by 
                mindas
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by mindas
        
        
        
        Published on 2011-02-20T23:21:40Z
        Indexed on 
            2011/02/20
            23:25 UTC
        
        
        Read the original article
        Hit count: 286
        
As far as I know, Servlet 3 spec introduces asynchronous processing feature. Among other things, this will mean that the same thread can and will be reused for processing another, concurrent, HTTP request(s). This isn't revolutionary, at least for people who worked with NIO before.
Anyway, this leads to another important thing: no ThreadLocal variables as a temporary storage for the request data. Because if the same thread suddenly becomes the carrier thread to a different HTTP request, request-local data will be exposed to another request.
All of that is my pure speculation based on reading articles, I haven't got time to play with any Servlet 3 implementations (Tomcat 7, GlassFish 3.0.X, etc.).
So, the questions:
- Am I correct to assume that ThreadLocalwill cease to be a convenient hack to keep the request data?
- Has anybody played with any of Servlet 3 implementations and tried using ThreadLocals to prove the above?
- Apart from storing data inside HTTP Session, are there any other similar easy-to-reach hacks you could possibly advise?
© Stack Overflow or respective owner