servicefactory will not help with your issue. It just tells SCR to create 
and activate a unique instance of the component implementation class for 
each bundle using the service.

The use case you have (separate service implementation class from 
component implementation class) can't be done with DS. DS is designed upon 
the premise that the service and the component are one and the same.

It is possible that your use case be handled by RFC 124[1] coming in 4.2 
but I am not sure.

[1] 
http://www.osgi.org/Download/File?url=/download/osgi-4.2-early-draft.pdf
-- 

BJ Hargrave
Senior Technical Staff Member, IBM
OSGi Fellow and CTO of the OSGi Alliance
[EMAIL PROTECTED]

office: +1 386 848 1781
mobile: +1 386 848 3788





From:
"Fredrik Alströmer" <[EMAIL PROTECTED]>
To:
"OSGi Developer Mail List" <[email protected]>
Date:
2008/10/21 04:13 AM
Subject:
[osgi-dev] Re: Declarative Services factory components.



I just realized I should probably be dealing with the 'servicefactory'
attribute instead, I'm working on it right now, if anyone has any
input/ideas/concerns, please don't hesitate to voice them anyway. ;)

I'm still interested in how factory components should be used though,
if anyone has got any guidelines or good examples...

Thanks,
Fredrik.

On Tue, Oct 21, 2008 at 09:30, Fredrik Alströmer <[EMAIL PROTECTED]> wrote:
> Hi!
>
> I'd like to have a component, with normal requires and provides, which
> are satisfied in the normal manner. However, when the component has
> been activated and a request for the service is made, I need to use an
> other object as implementation for the provided service, rather than
> an instance of the implementation mentioned in the component
> description. This is part of a legacy implementation, where the
> implementation of the interface provided is separated from the class
> doing the life cycle (this class incidentally creates the instance of
> the class providing the interface that I need, so I can't make a
> separate component which just depends on the life cycle component
> either). I also don't want to make a wrapper (or proxy..), as there
> are a bunch of these cases, and I would to solve it in a general
> manner.
>
> Can I use factory components for this? I tried to understand the
> compendium, but it appears to be very brief on this matter. If this
> cannot be done with factory components, could someone please explain
> how to use factory components? Who calls newInstance? (Does it have to
> be done explicitly?)
>
> I hope my question was halfway comprehensible, it felt pretty
> confusing to me... :)
>
> Thanks,
> Fredrik.
>

_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

_______________________________________________
OSGi Developer Mail List
[email protected]
https://mail.osgi.org/mailman/listinfo/osgi-dev

Reply via email to