Return-Path: Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: (qmail 89033 invoked from network); 14 Jan 2010 20:53:57 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 14 Jan 2010 20:53:57 -0000 Received: (qmail 83913 invoked by uid 500); 14 Jan 2010 20:53:56 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 83836 invoked by uid 500); 14 Jan 2010 20:53:56 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 83825 invoked by uid 99); 14 Jan 2010 20:53:56 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Jan 2010 20:53:56 +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.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Jan 2010 20:53:55 +0000 Received: by brutus.apache.org (Postfix, from userid 33) id 1C476234C1F2; Thu, 14 Jan 2010 12:53:35 -0800 (PST) From: bugzilla@apache.org To: dev@tomcat.apache.org Subject: DO NOT REPLY [Bug 48547] Add hook for a "patch" classloader X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Tomcat 7 X-Bugzilla-Component: Catalina X-Bugzilla-Keywords: X-Bugzilla-Severity: enhancement X-Bugzilla-Who: markt@apache.org X-Bugzilla-Status: RESOLVED X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: dev@tomcat.apache.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: Status Resolution In-Reply-To: References: X-Bugzilla-URL: https://issues.apache.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Message-Id: <20100114205335.1C476234C1F2@brutus.apache.org> Date: Thu, 14 Jan 2010 12:53:35 -0800 (PST) https://issues.apache.org/bugzilla/show_bug.cgi?id=48547 Mark Thomas changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WONTFIX --- Comment #2 from Mark Thomas 2010-01-14 12:53:32 GMT --- Modifying CLASSPATH is generally a very bad idea. In 99.9% of cases it causes far more problems that it fixes. Another class loader in the hierarchy won't help due to the delegation model required by the Servlet spec. Regardless of how you do it, dynamically replacing classes in a running web application is asking for trouble unless your are very careful or in an environment designed to it (eg OSGI). Getting that right for Tomcat would require a huge amount of complexity (it is bad enough for JSPs) and there are simpler solutions. Tomcat does support updating an entire WAR whilst the application is running and serving requests. You need to do this through the manager for it to be safe. You can also add/replace classes in the WEB-INF/classes directory. These will override and classes in JARs (hence can be used for patching) and a simple re-load will cause Tomcat to pick them up, again without loss of service to the end-user. As an aside, Tomcat has had the concept of a shared library for as long as I can remember (Tomcat 4 onwards). It is disabled by default in Tomcat 6 & 7. All the use cases you describe can be achieved with existing Tomcat functionality. Use the users list if you need more details of how to do it. If there is a practical use case that can't be met with existing functionality then that is worth further discussion. The users list is also the best place to start that discussion. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org For additional commands, e-mail: dev-help@tomcat.apache.org