Return-Path: Delivered-To: apmail-felix-dev-archive@www.apache.org Received: (qmail 48485 invoked from network); 12 Nov 2008 14:04:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Nov 2008 14:04:36 -0000 Received: (qmail 89727 invoked by uid 500); 12 Nov 2008 14:04:43 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 89541 invoked by uid 500); 12 Nov 2008 14:04:42 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 89530 invoked by uid 99); 12 Nov 2008 14:04:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 12 Nov 2008 06:04:42 -0800 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; Wed, 12 Nov 2008 14:03:30 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 756CA234C281 for ; Wed, 12 Nov 2008 06:03:44 -0800 (PST) Message-ID: <91571443.1226498624479.JavaMail.jira@brutus> Date: Wed, 12 Nov 2008 06:03:44 -0800 (PST) From: "Guillaume Sauthier (JIRA)" To: dev@felix.apache.org Subject: [jira] Commented: (FELIX-808) R4SearchPolicyCore.searchDynamicImports() always loads a class even if the object to load is a resource In-Reply-To: <329557680.1226050366461.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/FELIX-808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12646900#action_12646900 ] Guillaume Sauthier commented on FELIX-808: ------------------------------------------ :) In fact, we found that issue when Felix is run on Windows. JacORB tries to load a configuration file using different strategies: 1. use the TCCL.getResource() 2. if not found, tries the absolute filename The problem is that the resource it tries to load from the TCCL is already the absolute file name (ie, under windows something like 'd:\path\to\my\resource'). So the call looks like this : Thread.currentThread().getContextClassLoader().getResource("d:\path\to\my\resource"); The TCCL is a bundle ClassLoader of Felix with a 'DynamicImport-Packages *'. This is where we fallback on the system classloader (not 100% sure) and we try to load d:\...\resource as a class (changing all . to / and adding a .class suffix :) ). > R4SearchPolicyCore.searchDynamicImports() always loads a class even if the object to load is a resource > ------------------------------------------------------------------------------------------------------- > > Key: FELIX-808 > URL: https://issues.apache.org/jira/browse/FELIX-808 > Project: Felix > Issue Type: Bug > Affects Versions: felix-1.4.0 > Reporter: eyindanga > Assignee: Richard S. Hall > Fix For: felix-1.4.1 > > > The method R4SearchPolicyCore.searchDynamicImports( IModule module, String name, String pkgName, boolean isClass) always load a class by using the current thrad class loader even if the object to laod is a resource. > This code may chek if the object is a class or a resource, and invoke the coresponding method on the classloader. > // If there are no bundles providing exports for this > // package and if the instigating class was not from a > // bundle, then delegate to the parent class loader. > // Otherwise, break out of loop and return null. > boolean delegate = true; > for (ClassLoader cl = classes[i].getClassLoader(); cl != null; cl = cl.getClass().getClassLoader()) > { > if (ContentClassLoader.class.isInstance(cl)) > { > delegate = false; > break; > } > } > if (delegate) > { > return this.getClass().getClassLoader().loadClass(name); > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.