Hi, On 13 octobre 2014 at 13:35:49, Milen Dyankov (milendyan...@gmail.com) wrote: Thank you for clarifying Clement!
The goal it pretty simple. Say I have: @Component( immediate = true, managedservice = "my.service") @Provides public class MyServiceImpl implements MyService { @Property protected String someProperty; ... } I would like to be able to able to create new instances (register new services) by just creating respective my.service-unique_name.cfg files in karaf's etc folder. This does not seem to work and up until now I thought it's because the ManagedServiceFactory was not created. But if understand correctly what you are saying - it should still work just use a different approach internally. If that is correct, then must be something else I'm doing wrong. I would appreciate any example (a pointer to a project using something similar is more than enough) to learn from. Remove the ‘managedservice’ attribute exposing a ManagedService and not creating new instances. To create new instances, just create a cfg file with the given name: MyServiceImplQualifiedName-id.cfg The “MyServiceImplQualifiedName” is the qualified name of your class (like org.acme.component.MyServiceImpl) Regards, Clement Regards, Milen On Mon, Oct 13, 2014 at 1:10 PM, Clement Escoffier < clement.escoff...@gmail.com> wrote: > Hi, > > You are right, 1.12.0 does not expose ManagedServiceFactory anymore > because it uses a ‘configuration tracker’ > (org.apache.felix.ipojo.ConfigurationTracker). The documentation is not up > to date. However, the feature stay the same. Factory configurations pushed > in the config admin create instances et support dynamic reconfiguration. > > Depending of what you want to do, you can also rely on the Factory service > exposed for each @Component. > > Cheers, > > Clement > > On 13 octobre 2014 at 12:02:36, Milen Dyankov (milendyan...@gmail.com) > wrote: > > Hi, > can someone point me to an example of using ConfigAdmin's > ManagedServiceFactory with iPOJO components, please? > > The reason I'm asking is, what the docs ( > > http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/ipojo-advanced-topics/combining-ipojo-and-configuration-admin.html > > ) > say: > > For each (public) component type, a ManagedServiceFactory is published. > > For each configurations matching with the component type from the > > Configuration Admin, a new component instance is created. > > > does not seem to work for me (iPOJO 1.12.0 in Karaf 3.0.1). No matter what > I do, I can't get a "org.osgi.service.cm.ManagedServiceFactory" registered > for my component. > > iPOJO will register "org.osgi.service.cm.ManagedService" for the component > if I provide "managedservice = ..... " in the @Component and @Instantiate > it! In such case I can indeed use ConfigAdmin to configure the instance. > > However I couldn't figure out how to instruct iPOJO to register a " > ManagedServiceFactory" so that I can later on create new component > instances from ConfigAdmin. Am I misinterpreting the docs? Missing > something obvious? > > Regards, > Milen > > > -- > http://about.me/milen > -- http://about.me/milen