Return-Path: Delivered-To: apmail-karaf-issues-archive@minotaur.apache.org Received: (qmail 82613 invoked from network); 2 Feb 2011 23:24:50 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 2 Feb 2011 23:24:50 -0000 Received: (qmail 56553 invoked by uid 500); 2 Feb 2011 23:24:50 -0000 Delivered-To: apmail-karaf-issues-archive@karaf.apache.org Received: (qmail 56530 invoked by uid 500); 2 Feb 2011 23:24:49 -0000 Mailing-List: contact issues-help@karaf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: issues@karaf.apache.org Delivered-To: mailing list issues@karaf.apache.org Received: (qmail 56486 invoked by uid 99); 2 Feb 2011 23:24:49 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Feb 2011 23:24:49 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Feb 2011 23:24:49 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 1516C18A6AA for ; Wed, 2 Feb 2011 23:24:29 +0000 (UTC) Date: Wed, 2 Feb 2011 23:24:29 +0000 (UTC) From: "Guillaume Nodet (JIRA)" To: issues@karaf.apache.org Message-ID: <437414567.6247.1296689069083.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <16064364.212391292842140914.JavaMail.jira@thor> Subject: [jira] Updated: (KARAF-334) At startup, Karaf does not support urls like mvn:, obr:. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/KARAF-334?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Guillaume Nodet updated KARAF-334: ---------------------------------- Fix Version/s: (was: 2.2.0) I'd like to push that one out of 2.2.0 as this is a tricky area and i don't want to rush on a solution that seems to still bring lots of problems. > At startup, Karaf does not support urls like mvn:, obr:. > -------------------------------------------------------- > > Key: KARAF-334 > URL: https://issues.apache.org/jira/browse/KARAF-334 > Project: Karaf > Issue Type: Improvement > Components: runtime > Affects Versions: 2.1.2 > Reporter: Stephane Chomat > Assignee: Guillaume Nodet > Attachments: patch-KARAF-334, patch-KARAF-334-karaf-2.1.x, test-karaf-home.zip > > Original Estimate: 24h > Remaining Estimate: 24h > > At startup, Karafi does not support urls like mvn:, obr:. > Imagine that at level 5 you install the bundle pax-url-mvn with karaf.auto.start.5 = "file: pax-url-mvn.jar | pax-url-mvn" > and then at level 10 you install mvn:. ... With karaf.auto.start.10 = "mvn :....| ...." > At the level 6 the url handler 'mvn' is available and you can use it. > This feature does not work with Karaf > I propose this path : > diff -r f0bb11c3d77c src/main/java/org/apache/karaf/main/Main.java > --- a/src/main/java/org/apache/karaf/main/Main.java Mon Dec 20 11:05:11 2010 +0100 > +++ b/src/main/java/org/apache/karaf/main/Main.java Mon Dec 20 11:46:29 2010 +0100 > @@ -485,28 +485,20 @@ > // the start level to which the bundles are assigned is specified by > // appending a ".n" to the auto-install property name, where "n" is > // the desired start level for the list of bundles. > - autoInstall(PROPERTY_AUTO_INSTALL, context, sl, convertToMavenUrls); > + autoInstall(PROPERTY_AUTO_INSTALL, context, sl, convertToMavenUrls, false); > > // The auto-start property specifies a space-delimited list of > // bundle URLs to be automatically installed and started into each > // new profile; the start level to which the bundles are assigned > // is specified by appending a ".n" to the auto-start property name, > // where "n" is the desired start level for the list of bundles. > - // The following code starts bundles in two passes, first it installs > - // them, then it starts them. > - List bundlesToStart = autoInstall(PROPERTY_AUTO_START, context, sl, convertToMavenUrls); > - // Now loop through and start the installed bundles. > - for (Bundle b : bundlesToStart) { > - try { > - b.start(); > - } > - catch (Exception ex) { > - System.err.println("Auto-properties start: " + ex); > - } > - } > + // The following code starts bundles in one passes, it installs > + // and it starts them by level. > + autoInstall(PROPERTY_AUTO_START, context, sl, convertToMavenUrls, true); > + > } > > - private List autoInstall(String propertyPrefix, BundleContext context, StartLevel sl, boolean convertToMavenUrls) { > + private List autoInstall(String propertyPrefix, BundleContext context, StartLevel sl, boolean convertToMavenUrls, boolean start) { > Map autoStart = new TreeMap(); > List bundles = new ArrayList(); > for (Iterator i = configProps.keySet().iterator(); i.hasNext();) { > @@ -531,6 +523,7 @@ > } > for (Integer startLevel : autoStart.keySet()) { > StringTokenizer st = new StringTokenizer(autoStart.get(startLevel), "\" ", true); > + List bundlesLevel = new ArrayList(); > if (st.countTokens() > 0) { > String location = null; > do { > @@ -541,6 +534,7 @@ > Bundle b = context.installBundle(parts[0], new URL(parts[1]).openStream()); > sl.setBundleStartLevel(b, startLevel); > bundles.add(b); > + bundlesLevel.add(b); > } > catch (Exception ex) { > System.err.println("Auto-properties install:" + ex); > @@ -549,6 +543,15 @@ > } > while (location != null); > } > + // Now loop through and start the installed bundles. > + for (Bundle b : bundlesLevel) { > + try { > + b.start(); > + } > + catch (Exception ex) { > + System.err.println("Auto-properties start: " + ex); > + } > + } > } > return bundles; > } -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira