Thanks, Neil, I think the subsystem approach is a bit too heavy, as you pointed out.
Is there a means (which I could eventually submit via a pull request) that would allow the Useradmin to be configured as either a factory or a singleton? Or is it one or the other, period. The start() method of the Activator code looks like this: public void start(BundleContext context) throws Exception { m_context = createServiceContext(context); // The actual service itself... UserAdminImpl service = new UserAdminImpl(m_context.m_roleRepository, m_context.m_eventDispatcher); // Register the actual service... context.registerService(UserAdmin.class.getName(), service, null); // Start/open all helper classes... m_context.start(); } Perhaps packaging as a separate bundle is the answer? So a singleton Useradmin bundle, and a factory Useradmin bundle? Cheers, =David > On Feb 13, 2018, at 20:29, Neil Bartlett <njbartl...@gmail.com> wrote: > > I can't think of a way. If a bundle does not provide a service as a > bundle-scope or prototype-scope service, you cannot force it to provide > multiple implementations. > > You could go down the subsystems route in order to get multiple copies of > the UserAdmin bundle installed into the framework. Maybe you should > consider that as a high-level solution for what sounds like a multi-tenant > application... but it's very heavyweight if all you want is multiple copies > of a single service. > > Neil > > On Tue, Feb 13, 2018 at 11:13 AM, David Leangen <o...@leangen.net> wrote: > >> >> Hi! >> >> Although my question is probably a more general OSGi question, I thought I >> would try here first, as it is related to the Felix Useradmin… >> >> I intend to use multiple instances of the Useradmin. The reason is because >> I want to host multiple (small) enterprise customers in one installation, >> but I want to ensure safe segregation of user data. The spec seems to imply >> that there is only one Useradmin, yet I do not see anything in the spec >> that prohibits multiple instances of the service. >> >> In the Felix implementation, it is provided as a service singleton. In >> order to do what I want, I ended up embedding the felix implementation in >> my own bundle and wrapped it with a DS service factory component. >> >> >> I don’t like depending on the implementation code. >> >> >> Is there a better way? >> >> >> Cheers, >> =David >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@felix.apache.org >> For additional commands, e-mail: users-h...@felix.apache.org >> >>