Hi folks, here is a description of the current situation we have releasing the logging component.
Prehistory: Using the log4j mapped diagnostic context dump the application specific information into the log files. Details: http://logging.apache.org/log4j/docs/api/org/apache/log4j/MDC.html The log4j documentation has a primary statement that is accordingly the basis for the MDC/NDC approach: "In a typical multithreaded implementation of such a system, different threads will handle different clients." History: As the test environment apache 2.0.49 and tomcat 5.0.25 under "windows 2000 professional" were used. The tests showed that two clients not necessarily become the different threads. Quite often the thread, taken by the client A is shared later with the client B and afterwards is used again by the client A. Questions: I`m wondering how it is at all possible, does it mean that tomcat has somewhere the pool of the actual HttpSessions and they are not associated with the corresponding threads or even worth it makes the session serialization and gives another client the control over the thread? Due to my tomcat configuration I do not see any restrictions on the thread pool, in many times the client even opens the several threads and this is understandable. The non-understandable is the thread sharing between several clients and valid HttpSessions. I believe it is pure tomcat issue, that’s why stated the question here. The ideas and suggestions are highly appreciated, Yefym.