[ 
https://issues.apache.org/jira/browse/FELIX-1488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12744012#action_12744012
 ] 

Felix Meschberger commented on FELIX-1488:
------------------------------------------

Revisions 804915 and 804916 fix an issue with incorrectly setting the 
staticallyBound flag: If the bundle location is statically set to null, the 
flag must be set to false, such that dynamic binding may occurr later when 
assigning the configuration to a ManagedService.

The test case is test_create_with_location_unbind_before_service_supply:

         1. create Configuration with pid and non-null location.
         2. update the configuration with non-null props.
         3. set location of the configuration to null.
         4. bundleA registers a ManagedService service with the pid.


> Configuration binding is broken
> -------------------------------
>
>                 Key: FELIX-1488
>                 URL: https://issues.apache.org/jira/browse/FELIX-1488
>             Project: Felix
>          Issue Type: Bug
>          Components: Configuration Admin
>    Affects Versions: configadmin-1.0.10
>            Reporter: Felix Meschberger
>            Assignee: Felix Meschberger
>             Fix For: configadmin-1.0.12
>
>
> Configuration can be statically or dynamically bound:
>  * A configuration is statically bound by explicitly calling the 
> Configuration.setBundleLocation method or
>     by creating the configuration object with a non-null bundle location. 
> Static binding must be persisted and
>     is only reset by explicitly calling the setBundleLocation with a null 
> argument.
>  * A configuration may dynamically bound if the configuration has been 
> created with a null bundle location and
>     the setBundleLocation has not been called (or called with a null 
> argument). If such an unbound configuration
>     is provided to a ManagedService[Factory] it is dynamically bound to the 
> service's bundle. Such bundle
>     binding is not persisted.
> The reason why dynamic binding need not be persisted is actually an 
> implementation detail because we keep used configurations in an internal 
> cache. Entries in the cache are only removed if the configuration is deleted 
> or if the configuration admin service is stopped. In the first case, bundle 
> binding is lost anyway. In the second case dynamic bundle bindings will be 
> recreated on configuration admin service restart when the configurations are 
> supplied to ManagedService[Factory] services again.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to