Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 84037 invoked from network); 16 Nov 2006 22:05:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Nov 2006 22:05:36 -0000 Received: (qmail 48243 invoked by uid 500); 16 Nov 2006 22:05:47 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 48097 invoked by uid 500); 16 Nov 2006 22:05:46 -0000 Mailing-List: contact scm-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list scm@geronimo.apache.org Received: (qmail 48086 invoked by uid 99); 16 Nov 2006 22:05:46 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Nov 2006 14:05:46 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 16 Nov 2006 14:05:35 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id 254251A9846; Thu, 16 Nov 2006 14:05:04 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r475942 - /geronimo/sandbox/javaee5/modules-jee5/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/InstanceContextHandler.java Date: Thu, 16 Nov 2006 22:05:04 -0000 To: scm@geronimo.apache.org From: djencks@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20061116220504.254251A9846@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: djencks Date: Thu Nov 16 14:05:03 2006 New Revision: 475942 URL: http://svn.apache.org/viewvc?view=rev&rev=475942 Log: GERONIMO-2491 Possible fix for hibernate connection problem, use same context for all connection tracking through a servlet request include/dispatch Modified: geronimo/sandbox/javaee5/modules-jee5/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/InstanceContextHandler.java Modified: geronimo/sandbox/javaee5/modules-jee5/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/InstanceContextHandler.java URL: http://svn.apache.org/viewvc/geronimo/sandbox/javaee5/modules-jee5/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/InstanceContextHandler.java?view=diff&rev=475942&r1=475941&r2=475942 ============================================================================== --- geronimo/sandbox/javaee5/modules-jee5/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/InstanceContextHandler.java (original) +++ geronimo/sandbox/javaee5/modules-jee5/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/handler/InstanceContextHandler.java Thu Nov 16 14:05:03 2006 @@ -30,7 +30,9 @@ import org.apache.geronimo.connector.outbound.connectiontracking.ConnectorInstanceContext; import org.apache.geronimo.connector.outbound.connectiontracking.ConnectorInstanceContextImpl; +import org.apache.geronimo.connector.outbound.connectiontracking.SharedConnectorInstanceContext; import org.apache.geronimo.connector.outbound.connectiontracking.TrackedConnectionAssociator; +import org.mortbay.jetty.Handler; import org.mortbay.jetty.handler.AbstractHandler; /** @@ -51,12 +53,24 @@ public void handle(String target, HttpServletRequest request, HttpServletResponse response, int dispatch) throws IOException, ServletException { try { - ConnectorInstanceContext oldContext = trackedConnectionAssociator.enter(new ConnectorInstanceContextImpl(unshareableResources, applicationManagedSecurityResources)); + if (dispatch == Handler.REQUEST) { + ConnectorInstanceContext oldContext = trackedConnectionAssociator.enter(new SharedConnectorInstanceContext(unshareableResources, applicationManagedSecurityResources, false)); - try { - next.handle(target, request, response, dispatch); - } finally { - trackedConnectionAssociator.exit(oldContext); + try { + next.handle(target, request, response, dispatch); + } finally { + trackedConnectionAssociator.exit(oldContext); + } + } else { + SharedConnectorInstanceContext context = new SharedConnectorInstanceContext(unshareableResources, applicationManagedSecurityResources, true); + SharedConnectorInstanceContext oldContext = (SharedConnectorInstanceContext) trackedConnectionAssociator.enter(context); + context.share(oldContext); + try { + next.handle(target, request, response, dispatch); + } finally { + context.hide(); + trackedConnectionAssociator.exit(oldContext); + } } } catch (ResourceException e) { throw new ServletException(e);