Hi,

On 9 déc. 2013, at 16:20, Bengt Rodehav <[email protected]> wrote:

> I have a iPojo component singleton defined as follows:
> 
> @Component(managedservice = "connect.fm.notifier", name =
> "connect.fm.notifier", publicFactory = false)
> @Provides(specifications = INotificationProvider.class)
> @Instantiate
> public class NotifierService implements INotifier, INotificationProvider {
> ...
>  @Property(name = "defaultLogTypeId", mandatory = true)
>  private String mDefaultLogTypeId;
> 
>  @Updated
>  public void updated(Dictionary conf) {
>    System.out.println("Updated");
>    Enumeration en = conf.keys();
>    while (en.hasMoreElements()) {
>      Object key = en.nextElement();
>      System.out.println("  " + key.toString() + " -> " + conf.get(key));
>    }
>  }
> 
> ....
> 
> I have two questions regarding this:
> 
> a) When I have a mandatory property ("defaultLogTypeId" above) with no
> default value, it seems like no component instance will be created. I feed
> ConfigAdmin with a proper configuration using FileInstall but it seems that
> it is "too late". If the default configuration was not valid then no
> instance will be created regardless if I provide a correct installation
> later on. Is this as designed or have I misunderstood this? I was expecting
> the instance creation to be delayed until a correct configuration was
> provided. Note that if I have a correct default configuration then the
> instance will be created and it will be automatically reconfigured via
> FileInstall.

You should remove the @Instantiate and create a ManagedServiceFactory 
configuration using the configuration admin.

> 
> b) The Dictionary passed into the updated() method always seem to reflect
> the default configuration - not the current configuration. This looks like
> a bug to me.
> 

Looks like it. Could you open an issue ?

Regards,

Clement

> /Bengt


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to