I've searched in this forum to see if anyone has worked through something like this before. I see a lot of people working on ways to prevent multiple simuultaneous accesses by a single client, but that is just what I want to create.
I want to use a multi threaded client to simulate load on a web app. The application stores some persistent data in the session. Each thread will request different information to model real world behavior more closely.
The problem is that the app server sees each thread as the same client (via cookies) coming from the same process on the same machine and subsequently lets them step all over one another's session-stored data.
I know I can use separate JVMs instead of threads, but then I need more hardware to simulate the same load. I prefer threading if I can find such a solution.
Originally posted by Ben Souther: Just don't pass the JSESSIONID header and the server will treat each request as a new session.
I didn't give you enough information. I don't want every request to be a new session. I want every thread to have an individual session for its use over several requests. Each thread should pull data from the backend to the client, possibly modify it, and send it back through the web app to the persistent store. To look more like the real world, each thread should access different records. Currently they step on one another's requests because they're all in a single session.