I looked at some specs a little more and found this in enterprise 5.0.0 Config
Admin 104.4.2:
----
• Dynamic Binding
Dynamic binding is available for backward compatibility with earlier versions.
It is recommended that management agents explicitly set the location to a ? (a
multi-location) to allow multiple bundles to share PIDs and not use the dynamic
binding facility. If a management agent uses ?, it must at least have
ConfigurationPermission[ ?,CONFIGURE ] when security is on, it is also possible
to use ConfigurationPermission[ ?*,CONFIGURE ] to not limit the management
agent. See Regions on page 63 for some examples of using the locations in
isolation scenarios.
A null location parameter can be used to create Configuration objects that are
not yet bound. In this case, the Configuration becomes bound to a specific
location the first time that it is compared to a Bundle’s location. If a bundle
becomes dynamically bound to a Configuration then a CM_LOCATION_CHANGED event
must be dispatched.
When this dynamically bound Bundle is subsequently uninstalled, configurations
that are bound to this bundle must be released. That means that for such
Configuration object’s the bundle location must be set to null again so it can
be bound again to another bundle.
----
The last paragraph indicates to me that it's CA's responsibility to unset the
location when the bundle is uninstalled, not DS's responsibility to track
whether or not it set the location.
Alternatively karat might try creating configurations with a multi-location of
"?" although I don't know if felix ca supports this very well yet. Felix DS
does in trunk but not yet in a released version. If I read the spec correctly
the mulit-location is preferred but I would think that would effectively remove
any binding of pids to bundles.
thanks
david jencks
On Jun 22, 2013, at 12:26 PM, Jean-Baptiste Onofré <[email protected]> wrote:
> Agree with David.
>
> I take the Jira to deal with Felix DS.
>
> Regards
> JB
>
> On 06/22/2013 08:26 PM, David Jencks wrote:
>> The problem is in felix DS and possibly lack of specification. If DS set
>> the configuration location by requesting the config for a DS component, then
>> DS should, I think, reset it to null when the service is uninstalled. If
>> something else set the configuration location then DS should leave it alone.
>>
>> thanks
>> david jencks
>>
>>
>> On Jun 22, 2013, at 11:11 AM, Gareth <[email protected]> wrote:
>>
>>> OK, I assume it is a defect then. JIRA added:
>>>
>>> https://issues.apache.org/jira/browse/KARAF-2367
>>>
>>> thanks,
>>> Gareth
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://karaf.922171.n3.nabble.com/Uninstalling-Declarative-Services-Bundles-Which-Require-Configuration-tp4029022p4029091.html
>>> Sent from the Karaf - User mailing list archive at Nabble.com.
>>
>
> --
> Jean-Baptiste Onofré
> [email protected]
> http://blog.nanthrax.net
> Talend - http://www.talend.com