You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@karaf.apache.org by Romain Gilles <ro...@gmail.com> on 2012/05/24 16:08:10 UTC

Feature activation order.

Hi all,
I'm interesting to know if there is a respect of the overall xml
declaration during the resolution of the feature when you install it?
For example if you have the following repository and you install its
feature (myFeature) does karaf install the bundle/config in the following
order:
1. config
2. bundle1
3. bundle2

<features name="My Repo" xmlns="
http://karaf.apache.org/xmlns/features/v1.0.0">
    <feature name='myFeature' version='1.0'>
    <config name="com.foo.bar">
      myProperty = myValue
    </config>
        <bundle start-level="100" >mvn:toto/titi/1.0</bundle>
        <bundle start-level="100" >mvn:tutu/tata/1.0</bundle>
    </feature>
</features>

I have a subsidiary question.
Does karaf wait to ConfigAdmin acknowledge when it install the config entry
before moving to the next bundle to deploy?

Thanks,

Romain

Re: Feature activation order.

Posted by Romain Gilles <ro...@gmail.com>.
You right Christian, I will do it like this.

Thank you for your advice.

Romain

Le jeudi 24 mai 2012, Christian Schneider a écrit :

>  You should not rely on the order of bundles in the file. Only the
> startlevel makes it different.
> Basically you should try to avoid such timing dependencies anyway in OSGi.
> There are better ways to guarantee the order like
> package imports and service trackers.
>
> In the newest karaf version you can rely on the config being ready when
> the bundles load. The better way again is to use e.g. blueprint for the
> config admin integration and configure it to reload on config changes. So
> you can be sure the config is current.
>
> Christian
>
>
> Am 24.05.2012 16:08, schrieb Romain Gilles:
>
> Hi all,
> I'm interesting to know if there is a respect of the overall xml
> declaration during the resolution of the feature when you install it?
> For example if you have the following repository and you install its
> feature (myFeature) does karaf install the bundle/config in the following
> order:
> 1. config
> 2. bundle1
> 3. bundle2
>
>  <features name="My Repo" xmlns="
> http://karaf.apache.org/xmlns/features/v1.0.0">
>     <feature name='myFeature' version='1.0'>
>     <config name="com.foo.bar">
>       myProperty = myValue
>     </config>
>         <bundle start-level="100" >mvn:toto/titi/1.0</bundle>
>         <bundle start-level="100" >mvn:tutu/tata/1.0</bundle>
>     </feature>
> </features>
>
>  I have a subsidiary question.
> Does karaf wait to ConfigAdmin acknowledge when it install the config
> entry before moving to the next bundle to deploy?
>
>  Thanks,
>
>  Romain
>
>
>
> --
> Christian Schneiderhttp://www.liquid-reality.de
>
> Open Source Architect
> Talend Application Integration Division http://www.talend.com
>
>

Re: Feature activation order.

Posted by Christian Schneider <ch...@die-schneider.net>.
You should not rely on the order of bundles in the file. Only the 
startlevel makes it different.
Basically you should try to avoid such timing dependencies anyway in 
OSGi. There are better ways to guarantee the order like
package imports and service trackers.

In the newest karaf version you can rely on the config being ready when 
the bundles load. The better way again is to use e.g. blueprint for the 
config admin integration and configure it to reload on config changes. 
So you can be sure the config is current.

Christian


Am 24.05.2012 16:08, schrieb Romain Gilles:
> Hi all,
> I'm interesting to know if there is a respect of the overall xml 
> declaration during the resolution of the feature when you install it?
> For example if you have the following repository and you install its 
> feature (myFeature) does karaf install the bundle/config in the 
> following order:
> 1. config
> 2. bundle1
> 3. bundle2
>
> <features name="My Repo" 
> xmlns="http://karaf.apache.org/xmlns/features/v1.0.0">
> <feature name='myFeature' version='1.0'>
> <config name="com.foo.bar">
>       myProperty = myValue
> </config>
> <bundle start-level="100" >mvn:toto/titi/1.0</bundle>
> <bundle start-level="100" >mvn:tutu/tata/1.0</bundle>
> </feature>
> </features>
>
> I have a subsidiary question.
> Does karaf wait to ConfigAdmin acknowledge when it install the config 
> entry before moving to the next bundle to deploy?
>
> Thanks,
>
> Romain


-- 
Christian Schneider
http://www.liquid-reality.de

Open Source Architect
Talend Application Integration Division http://www.talend.com