Ok, great, thanks Chetan for clarifying, then it seems ConfigurationFactory is the right fit for my use case :)
Regards, Tommaso On 12/set/2013, at 06:16, Chetan Mehrotra wrote: > Hi Tommaso, > > In general you should always use the ConfigurationFactory approach as > it is lot more simpler and easy to use. > > ManagedServiceFactory is useful in few cases when you do not want your > bundle to depend on any other service runtime apart from core OSGi > framework. So suitable for infrastructure bundles like Logging , > WebConsole or other OSGi spec implementations etc > Chetan Mehrotra > > > On Wed, Sep 11, 2013 at 7:06 PM, Tommaso Teofili <teof...@adobe.com> wrote: >> Thanks a lot Chetan, that helps a lot! >> >> In the mentioned link it seems both ConfigurationFactory and >> ManagedServiceFactory could be used for that purpose, do you know if there >> is any difference / advantage / disadvantage of using one instead of the >> other? >> >> Regards, >> Tommaso >> >> On 11/set/2013, at 11:53, Chetan Mehrotra wrote: >> >>> You can use Component based on ConfigurationFactory. Have a look at >>> [1] for one such example >>> >>> [1] http://stackoverflow.com/a/15872131/1035417 >>> Chetan Mehrotra >>> >>> >>> On Wed, Sep 11, 2013 at 3:05 PM, Tommaso Teofili <teof...@adobe.com> wrote: >>>> Hi all, >>>> >>>> that's probably a trivial question but I'm looking for the best practice >>>> to create and register OSGi Services from configurations. >>>> Here's an example scenario: >>>> - I have an interface FooBar >>>> - I have an implementation DefaultFooBarImpl >>>> - I want to be able to specify a node like: >>>> { >>>> "jcr:primaryType" : "sling:OsgiConfig", >>>> "name" : "foo" >>>> "property-one" : "some-value", >>>> "property-two" : "another-value", >>>> } >>>> - and consequently I'd like a new instance of DefaultFooBarImpl to be >>>> created and registered as a Service (of course implementing FooBar) >>>> - then if a new configuration node is added: >>>> { >>>> "jcr:primaryType" : "sling:OsgiConfig", >>>> "name" : "bar" >>>> "property-one" : "some-other-value", >>>> "property-two" : "yet-another-value", >>>> } >>>> - another instance of DefaultFooBarImpl is created and registered as a >>>> Service. >>>> >>>> From my basic understanding (which may be obviously completely wrong) it >>>> seems to me that the best fit for my use case would be using >>>> ManagedServices [1] but I'm not too sure I should do that to handle >>>> multiple instances. >>>> >>>> Thanks in advance and have a nice day, >>>> Tommaso >>>> >>>> [1] : >>>> http://www.osgi.org/javadoc/r4v42/org/osgi/service/cm/ManagedService.html >>>> >>>> >>