Will it be part of 3.0.2 release? JP
[@@ OPEN @@] -----Message d'origine----- De : Jean-Baptiste Onofré [mailto:j...@nanthrax.net] Envoyé : vendredi 29 août 2014 12:23 À : user@karaf.apache.org Objet : Re: constant defined in .cfg not resolved at first start Hi, You are facing a known issue on Karaf 3: https://issues.apache.org/jira/browse/KARAF-2656 I'm fixing that: as in Karaf 2.3.x (where it worked), it should use the pid to create etc/pid.cfg file for you. Regards JB On 08/29/2014 12:11 PM, CLEMENT Jean-Philippe wrote: > Is there an equivalent to finalname in config tag? > > PS: changed "finalname" to "name" (and configfile to config) but etc > is not populated with our config files anymore > > JP > > [@@ OPEN @@] > > > -----Message d'origine----- > De : Jean-Baptiste Onofré [mailto:j...@nanthrax.net] Envoyé : vendredi > 29 août 2014 11:50 À : user@karaf.apache.org Objet : Re: constant > defined in .cfg not resolved at first start > > I think it's a race condition depending the way your provisiong cfg by your > feature, depending if you use <config/> / <configfile/>. > > Let me explain: > - at first start, the feature XML <configfile/> provision the cfg file > in the etc folder, but I bet that the features install is in parallel > or too early (before the cfg file is loaded on ConfigAdmin) > - at second start, the cfg file is loaded in ConfigAdmin first, so > blueprint-cm will "show" it. > > So, I think it should work using <config/> instead of <configfile/> (as it > uses ConfigAdmin directly, it doesn't wait the polling from FileInstall). > > Regards > JB > > On 08/29/2014 11:39 AM, DERIES Sebastien wrote: >> Dear Karaf members, >> >> Our Karaf application encounters a strange behavior at the first >> launch using the karaf/bin/start script: the application is not fully >> started due to exceptions. The error only happens during the first >> launch. If we start the application afterwards using karaf/bin/start >> it works perfectly fine. >> >> The error we have is that our constants defined in .cfg files are >> not replaced by their value at the first launch using bin/start. >> >> Everything works fine using bin/karaf the first time. >> >> Here is the exception (I changed constant name and classes): >> >> Caused by: >> org.osgi.service.blueprint.container.ComponentDefinitionException: >> Error setting property: PropertyDescriptor <name: MyConstant, getter: >> class mypackage. >> >> MyClass.getMaxValue(), setter: [class >> mypackage.MyClass.setMyConstant(float)] >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecip >> e .java:941)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRec >> i pe.java:907)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRec >> i pe.java:888)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanR >> e cipe.java:820)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRe >> c ipe.java:787)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.ja >> v a:79)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_40-ea >> ] >> >> at >> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.ja >> v a:88)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java: >> 62)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.ja >> v a:106)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecip >> e .java:268)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanR >> e cipe.java:806)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRe >> c ipe.java:787)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.ja >> v a:79)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_40-ea >> ] >> >> at >> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.ja >> v a:88)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java: >> 62)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.ja >> v a:106)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecip >> e .java:268)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanR >> e cipe.java:806)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRe >> c ipe.java:787)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.ja >> v a:79)[19:org.apache.aries.blueprint.core:1.4.1] >> >> >> at >> java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_40-ea >> ] >> >> at >> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.ja >> v a:88)[19:org.apache.aries.blueprint.core:1.4.1] >> >> at >> org.apache.aries.blueprint.di.RefRecipe.internalCreate(RefRecipe.java: >> 62)[19:org.apache.aries.blueprint.core:1.4.1] >> >> at >> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.ja >> v a:106)[19:org.apache.aries.blueprint.core:1.4.1] >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecip >> e .java:933)[19:org.apache.aries.blueprint.core:1.4.1] >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRec >> i pe.java:907)[19:org.apache.aries.blueprint.core:1.4.1] >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanRec >> i pe.java:888)[19:org.apache.aries.blueprint.core:1.4.1] >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanR >> e cipe.java:820)[19:org.apache.aries.blueprint.core:1.4.1] >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRe >> c ipe.java:787)[19:org.apache.aries.blueprint.core:1.4.1] >> >> at >> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.ja >> v a:106)[19:org.apache.aries.blueprint.core:1.4.1] >> >> at >> org.apache.aries.blueprint.di.CollectionRecipe.internalCreate(Collect >> i onRecipe.java:90)[19:org.apache.aries.blueprint.core:1.4.1] >> >> ... 22 more >> >> Caused by: java.lang.NumberFormatException: For input string: >> "$(MyConstant)" >> >> at >> sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:20 >> 4 >> 3)[:1.8.0_40-ea] >> >> at >> sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)[:1.8.0_ >> 4 >> 0-ea] >> >> at java.lang.Float.parseFloat(Float.java:451)[:1.8.0_40-ea] >> >> at java.lang.Float.valueOf(Float.java:416)[:1.8.0_40-ea] >> >> at >> org.apache.aries.blueprint.container.AggregateConverter.convertFromSt >> r >> ing(AggregateConverter.java:287)[19:org.apache.aries.blueprint.core:1. >> 4.1] >> >> at >> org.apache.aries.blueprint.container.AggregateConverter.convert(Aggre >> g ateConverter.java:174)[19:org.apache.aries.blueprint.core:1.4.1] >> >> at >> org.apache.aries.blueprint.container.BlueprintRepository.convert(Blue >> p rintRepository.java:402)[19:org.apache.aries.blueprint.core:1.4.1] >> >> at >> org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.c >> o >> nvert(ReflectionUtils.java:394)[19:org.apache.aries.blueprint.core:1. >> 4 >> .1] >> >> at >> org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescri >> p >> tor.internalSet(ReflectionUtils.java:628)[19:org.apache.aries.bluepri >> n >> t.core:1.4.1] >> >> at >> org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.s >> e >> t(ReflectionUtils.java:378)[19:org.apache.aries.blueprint.core:1.4.1] >> >> at >> org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecip >> e .java:939)[19:org.apache.aries.blueprint.core:1.4.1] >> >> KARAF VERSION : 3.0.2-SNAPSHOT (last week) >> >> Using karaf feature and assembly >> >> Thanks ! >> >> Regards >> >> --------------------------------------------------------------------- >> - >> -- >> >> >> >> >> >> *Sébastien Deries* >> Tel. : + 33 (0)4 92 96 31 52 >> sebastien.der...@thalesgroup.com >> <mailto:sebastien.der...@thalesgroup.com>** >> >> >> > > -- > Jean-Baptiste Onofré > jbono...@apache.org > http://blog.nanthrax.net > Talend - http://www.talend.com > -- Jean-Baptiste Onofré jbono...@apache.org http://blog.nanthrax.net Talend - http://www.talend.com