On 22.10.2008, at 11:34, Simon McLean wrote:

Blimey, this has taken me weeks to figure out...

We've been plagued with zombie sessions for weeks on a couple of production apps. One, for example, is used by a team of 5 people who sign on in the morning and out in the evening, by which time the app is busy running 300+ sessions!

Anyway, after much digging I finally nailed it down to a component that was being used to render email. We use the following method to instantiate a component and then call generateResponse().contentString() to get it's html content:

        public static WOComponent instantiatePage(String pageName) {
                // Create a context from a fake request
WORequest request = new WORequest("GET", "", "HTTP/1.1", null, null, null); WOContext context = WOApplication.application().createContextForRequest(request);
                return WOApplication.application().pageWithName(pageName, 
context);
        }

The problem was that one of the components used as an email touched the session. I believe because we are using a fake context this results in a new session being created. I'm not sure why those extra sessions don't just expire like normal ones ? But anyway, problem solved. I can sleep again.

Because they are not in the RR loop they are not called with sleep() ...

cug
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to