Hi Gerald,
I suspect that what you are seeing is not a true session timeout. First, some questions.
How long does it take to process these updates and inserts?
How long after clicking submit does the session timeout message appear?
Are you running with concurrent dispatch enabled?
How loaded is the server?
How loaded is the database?
By default, the woadaptor will only wait for 15 seconds to get a response from the application. If it has not gotten a response in that time, it will send the request to a different instance. This is fine for session-less direct action but is not when
a session is being used — as is the case with component actions (/wo/ in the url). Sessions don’t migrate between instances by default so the new instance is not able to obtain the session. It assumes that this is because the session has expired, rather
than the request is from a different instance, which is why you see that slightly misleading message.
If this is the problem, you have two options. You can increase the Receive Timeout in JavaMonitor to allow for enough time to process the request. This is the quick and easy solution. The other option is to optimize your application or environment so
that it does not take so long to process a request. This is usually the better long term option, and also results in a better user experience. You could also look at Ramsey’s portable sessions framework (I completely forget the real name), but I would optimize
first.
The broken pipe message just means that when the app finally got around to sending the response back, the browser was no longer listening (it has a response from an instance that return the session timeout message. The broken pipe message is a symptom
of the problem, not the problem itself.
Chuck