Return-Path: Delivered-To: apmail-geronimo-scm-archive@www.apache.org Received: (qmail 83698 invoked from network); 16 Apr 2010 03:55:04 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 16 Apr 2010 03:55:04 -0000 Received: (qmail 30851 invoked by uid 500); 16 Apr 2010 03:55:04 -0000 Delivered-To: apmail-geronimo-scm-archive@geronimo.apache.org Received: (qmail 30727 invoked by uid 500); 16 Apr 2010 03:55:04 -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 30720 invoked by uid 99); 16 Apr 2010 03:55:03 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Apr 2010 03:55:03 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Apr 2010 03:55:01 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 9765E238897D; Fri, 16 Apr 2010 03:54:39 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r934679 - /geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java Date: Fri, 16 Apr 2010 03:54:39 -0000 To: scm@geronimo.apache.org From: xuhaihong@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100416035439.9765E238897D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: xuhaihong Date: Fri Apr 16 03:54:39 2010 New Revision: 934679 URL: http://svn.apache.org/viewvc?rev=934679&view=rev Log: Set thread context classloader, as Tomcat needs it to load Connector MBean while adding connector Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java Modified: geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java?rev=934679&r1=934678&r2=934679&view=diff ============================================================================== --- geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java (original) +++ geronimo/server/trunk/plugins/tomcat/geronimo-tomcat7/src/main/java/org/apache/geronimo/tomcat/TomcatContainer.java Fri Apr 16 03:54:39 2010 @@ -92,6 +92,7 @@ public class TomcatContainer implements private final WebManager manager; private static boolean first = true; private final BundleContext bundleContext; + private final ClassLoader classLoader; /** * GBean constructor (invoked dynamically when the gbean is declared in a plan) @@ -116,7 +117,7 @@ public class TomcatContainer implements if (engineGBean == null && server == null) throw new IllegalArgumentException("Server and EngineGBean cannot both be null."); this.bundleContext = bundleContext; - + this.classLoader = classLoader; // Register a stream handler factory for the JNDI protocol URLStreamHandlerFactory streamHandlerFactory = new DirContextURLStreamHandlerFactory(); @@ -339,7 +340,13 @@ public class TomcatContainer implements } public void addConnector(Connector connector) { - embedded.addConnector(connector); + ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); + try { + Thread.currentThread().setContextClassLoader(classLoader); + embedded.addConnector(connector); + } finally { + Thread.currentThread().setContextClassLoader(oldClassLoader); + } } public void removeConnector(Connector connector) {