It should start from the installed features set and check if one of
the newly installed bundles solve an optional import of an already
installed bundle, or if it is a fragment to attach on an already
installed bundle.
This avoid refreshing bundles that are not related to the newly
installed features.

On Mon, Dec 6, 2010 at 23:12, Achim Nierbeck <[email protected]> wrote:
> After debugging, I'm not sure I do understand how this works. Does the
> FeaturesServiceImpl#findBundlesToRefresh() method only work on the
> newly installed feature set? I thought it helps me refreshing already
> installed
> bundles/features.
>
>> I will try to debug into this also,
>> Jira Issue KARAF-312, does tell how to reproduce this.
>>
>>> I can try to investigate if you raise a JIRA and add the steps to reproduce 
>>> ...
>>>
>>> On Mon, Dec 6, 2010 at 11:13, Achim Nierbeck <[email protected]> 
>>> wrote:
>>>> Ok,
>>>>
>>>> this was exactly what I was expecting from the behavior.
>>>> Now with a concrete example. Working on Pax-Web, one of the bundles
>>>> has an optional dependency to eventadmin service packages.
>>>> Now the eventadmin service feature is deployed after the pax-web stuff.
>>>> I do get an exception since the bundle that declared those packages as
>>>> optional dependencies wasn't refreshed, but the service tracker already
>>>> worked :(
>>>>
>>>> Thanks, Achim
>>>>
>>>>> So the features service tries to find out which bundles are to be 
>>>>> refreshed.
>>>>> This is done by checking all bundles previously installed (note that
>>>>> if you install several features, even including dependencies, bundles
>>>>> should only be resolved at the end, so it only considers bundles that
>>>>> were installed before the installation of the current features) for
>>>>> optional packages that could be refreshed or new fragments.
>>>>> The code is in FeaturesServiceImpl#findBundlesToRefresh() if you want
>>>>> to have a look.
>>>>> There are certainly some possible enhancements here, as it basically
>>>>> try to do a poor-man's resolution (or at least try to check if
>>>>> fragment's host and packages can be matched ...)  I guess ideally,
>>>>> we'd do a fake resolution, and this might become possible with the
>>>>> next OBR generation, but not really now.
>>>>>
>>>>> On Sun, Dec 5, 2010 at 21:36, Achim Nierbeck <[email protected]> 
>>>>> wrote:
>>>>>> Hi,
>>>>>>
>>>>>> how does the refresh mechanism work for features?
>>>>>> For example you have a features A deployed and deploy another features B.
>>>>>> I sometimes see that certain bundles of features A are refreshed. How is
>>>>>> this
>>>>>> accomplished? How am I able to trigger something like this?
>>>>>>
>>>>>> Greetings, Achim
>>>>>>
>>>
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/
------------------------
Open Source SOA
http://fusesource.com

Reply via email to