From dev-return-17752-apmail-geronimo-dev-archive=geronimo.apache.org@geronimo.apache.org Sat Oct 01 16:53:10 2005 Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 22472 invoked from network); 1 Oct 2005 16:53:09 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 1 Oct 2005 16:53:09 -0000 Received: (qmail 57966 invoked by uid 500); 1 Oct 2005 16:53:05 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 57927 invoked by uid 500); 1 Oct 2005 16:53:05 -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 57916 invoked by uid 99); 1 Oct 2005 16:53:05 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 01 Oct 2005 09:53:05 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: domain of jgenender@savoirtech.com designates 209.181.65.237 as permitted sender) Received: from [209.181.65.237] (HELO sun.savoirtech.com) (209.181.65.237) by apache.org (qpsmtpd/0.29) with SMTP; Sat, 01 Oct 2005 09:53:09 -0700 Received: from [206.197.197.27] ([206.197.197.27]) by sun.savoirtech.com (8.13.4/8.13.4) with ESMTP id j91GpBEO014843 for ; Sat, 1 Oct 2005 10:51:11 -0600 Message-ID: <433EBED9.40204@savoirtech.com> Date: Sat, 01 Oct 2005 10:52:42 -0600 From: Jeff Genender User-Agent: Mozilla Thunderbird 1.0.2 (Macintosh/20050317) X-Accept-Language: en-us, en MIME-Version: 1.0 To: dev@geronimo.apache.org Subject: Re: [jira] Commented: (GERONIMO-518) Deploying Struts app fails on Logging ClassCastException References: <640914344.1102300702638.JavaMail.apache@nagoya> <1632517066.1128016727763.JavaMail.jira@ajax.apache.org> <46494.12.17.202.43.1128020660.squirrel@mirage.savoirtech.com> <74e15baa0510010734s7c8898ccx837f872002ebe555@mail.gmail.com> <19f1078d5d0d2a0096307d21aefe18e3@yahoo.com> <433EB86D.8020208@savoirtech.com> <74e15baa0510010935n531ddd00lf35bae21a12cb671@mail.gmail.com> In-Reply-To: <74e15baa0510010935n531ddd00lf35bae21a12cb671@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on sun.savoirtech.com X-Virus-Scanned: ClamAV 0.87/1106/Fri Sep 30 11:17:17 2005 on sun.savoirtech.com X-Virus-Status: Clean X-Virus-Checked: Checked by ClamAV on apache.org X-Old-Spam-Status: No, score=-104.4 required=5.6 tests=ALL_TRUSTED,AWL,BAYES_00, USER_IN_WHITELIST autolearn=failed version=3.0.4 X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Aaron Mulder wrote: > > OK, so lets follow this scenario. You create a custom > commons-logging. In order to get your app to use it, you have 2 > options: > > 1) Replace the commons-logging that Geronimo uses (just copy over the > file in the repository or whatever). > > Result: Whatever we do with exclusion lists is irrelevant in this > case, since there's only 1 version of commons-logging -- your patched > one. Your patched one is used. IMHO, this seems almost as bad as forcing the user to remove their own commons-logging from web-inf/lib. > > 2) You add your patched version to WEB-INF/lib so your web app will > use it, but Geronimo won't. If we have an exclusion list, you remove > commons-logging from it. You set the web app class loading flag to > load from the WEB-INF/lib before the parent. > > Result: You get a ClassCastException because your version in > WEB-INF/lib has to touch our global logging instances which implement > our commons logging interfaces, not yours. > > Do you disagree? Yes. Lets make a more real scenario. Lets say I write...not my own logging, but my own factory to do whatever, that needs package access to the o.a.c.l because something is protect in there. With our hard code, I cannot use my class. By creating an exclusionary list, I can exclude packages and classes, but allow my new class through. Jeff > > Aaron