Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 75474 invoked from network); 29 Sep 2005 19:44:14 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 29 Sep 2005 19:44:14 -0000 Received: (qmail 95631 invoked by uid 500); 29 Sep 2005 19:44:11 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 95363 invoked by uid 500); 29 Sep 2005 19:44:10 -0000 Mailing-List: contact dev-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 dev@geronimo.apache.org Received: (qmail 95350 invoked by uid 99); 29 Sep 2005 19:44:10 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Sep 2005 12:44:09 -0700 X-ASF-Spam-Status: No, hits=1.9 required=10.0 tests=RCVD_BY_IP,RCVD_IN_BL_SPAMCOP_NET,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of bruce.snyder@gmail.com designates 72.14.204.205 as permitted sender) Received: from [72.14.204.205] (HELO qproxy.gmail.com) (72.14.204.205) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 29 Sep 2005 12:44:16 -0700 Received: by qproxy.gmail.com with SMTP id p35so31729qbb for ; Thu, 29 Sep 2005 12:43:48 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=IdKmnN0e2CPRUzGiVGFb6b0x+OKpsgV3a5YSAsLRSnnk7g2zH8qCZOsjRktZSVKxY1iLA5YHWt1GDPnke317QPpveYDahoqrmBGJ48pBhHgNt+KI/tA3DcfDl+97yacZenVxbLmyo+ZKQNchm6z5w1xmDv7lZt1MUQqb+GUT91I= Received: by 10.65.156.1 with SMTP id i1mr492080qbo; Thu, 29 Sep 2005 12:43:48 -0700 (PDT) Received: by 10.65.133.5 with HTTP; Thu, 29 Sep 2005 12:43:48 -0700 (PDT) Message-ID: <7b3355cb050929124341d88c7c@mail.gmail.com> Date: Thu, 29 Sep 2005 13:43:48 -0600 From: Bruce Snyder Reply-To: Bruce Snyder To: dev@geronimo.apache.org, Kevan Miller Subject: Re: [jira] Updated: (GERONIMO-518) Deploying Struts app fails on Logging ClassCastException In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <640914344.1102300702638.JavaMail.apache@nagoya> <1762927199.1127835052895.JavaMail.jira@ajax.apache.org> <50137.12.17.202.43.1127836413.squirrel@mirage.savoirtech.com> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N On 9/27/05, Kevan Miller wrote: > Good point. I didn't notice that they were including Commons in their > WEB-INF/lib. I think this is related to the context-priority-classloader > discussion I brought up last week. > > Section 9.7.2 of the Servlet spec specifies that for a J2EE product "The > container should not allow applications to override or access the > container's implementation classes". Depending on your definition of > "implementation classes", Geronimo's servlet classloaders permit a number= of > "implementation classes" (including commons-logging) to be loaded from th= e > web app's context. As this situation points out, this can lead to a numbe= r > of problems. The same section of the same spec also states the following: 'It is recommended also that the application class loader be implemented so that classes and resources packaged within the WAR are loaded in preference to classes and resources residing in container-wide library JARs.' Tomcat is a good exmaple of this in that it provides each webapp its own class loader. And therein lies the reason I have always recommended that each webapp should handle it's own logging (i.e., contain it's own logging jars and configuration files) *completely separate* from the app server. I've seen far too many webapps that utilize the app server's logging mechanism for an individual webapp. IMO, this is simply wrong becuase it's using what I consider to be a side effect as a feature. Bruce -- perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=3D6-E+G-N>61E