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(BeanRecipe
.java:941)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanReci
pe.java:907)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanReci
pe.java:888)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRe
cipe.java:820)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRec
ipe.java:787)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.jav
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.jav
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.jav
a:106)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe
.java:268)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRe
cipe.java:806)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRec
ipe.java:787)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.jav
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.jav
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.jav
a:106)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecipe
.java:268)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRe
cipe.java:806)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRec
ipe.java:787)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.jav
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.jav
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.jav
a:106)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe
.java:933)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanReci
pe.java:907)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.setProperties(BeanReci
pe.java:888)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanRe
cipe.java:820)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRec
ipe.java:787)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.jav
a:106)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.di.CollectionRecipe.internalCreate(Collecti
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:204
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.convertFromStr
ing(AggregateConverter.java:287)[19:org.apache.aries.blueprint.core:1.
4.1]
at
org.apache.aries.blueprint.container.AggregateConverter.convert(Aggreg
ateConverter.java:174)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BlueprintRepository.convert(Bluep
rintRepository.java:402)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.co
nvert(ReflectionUtils.java:394)[19:org.apache.aries.blueprint.core:1.4
.1]
at
org.apache.aries.blueprint.utils.ReflectionUtils$MethodPropertyDescrip
tor.internalSet(ReflectionUtils.java:628)[19:org.apache.aries.blueprin
t.core:1.4.1]
at
org.apache.aries.blueprint.utils.ReflectionUtils$PropertyDescriptor.se
t(ReflectionUtils.java:378)[19:org.apache.aries.blueprint.core:1.4.1]
at
org.apache.aries.blueprint.container.BeanRecipe.setProperty(BeanRecipe
.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