[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Re: Adding to the framework exported libraries?

Fragments are supposed to be subservient to its host, for example,
language translations.

Why do you need fragments if you need to actively provide services?

Kind regards,

     Peter Kriens
     
DK> I've been wondering how to register services from a fragment.

DK> As far as I know, a fragment *cannot* have a bundle activator.   
DK> Without a bundle activator, how does a fragment get access to its  
DK> bundle context through which it can register services?

DK> What am I missing?

DK> /djk

>> Message: 4
>> Date: Mon, 12 Feb 2007 07:44:35 +0100
>> From: Gunnar Wagenknecht <gunnar@xxxxxxxxxxxxxxx>
>> Subject: [equinox-dev] Re: Adding to the framework exported libraries?
>> To: equinox-dev@xxxxxxxxxxx
>> Message-ID: <eqp2ci$9e1$1@xxxxxxxxxxxxx>
>> Content-Type: text/plain; charset=ISO-8859-1
>>
>> Kabe wrote:
>> > Hi Tom, thanks for the suggestion. Only reason i don't think this  
>> will
>> > work (and maybe i'm wrong?) is that i need my host application to  
>> expose
>> > instances (services) to the bundles, so for example my host  
>> application
>> > creates in instance of FooService, and then registers it with the  
>> root
>> > BundleContext of the Equinox framework. However, unless i somehow  
>> tell
>> > Equinox that the package is available from the host (parent  
>> classloader)
>> > it won't let any bundle load that depends on this package. So far  
>> i'm
>> > not seeing how Fragment Bundles can solve this problem, because they
>> > seem like they need to be full bundles and not just passed in,  
>> but there
>> > could be some API or technique i'm not familiar with?
>>
>> The system bundle is "org.eclipse.osgi". It exports the system  
>> packages.
>>
>> Fragments contribute to the classpath of their bundle host. Thus,  
>> if you
>> create a fragment to "org.eclipse.osgi" you can add the packages from
>> your application to the set of exported packages of the system bundle,
>> which makes them available to all bundles.
>>
>> For registering your services from the host application I suggest
>> creating a bundle that is started when the framework is started. This
>> bundle can register any OSGi services, etc. It could be also the
>> fragment you created above.
>>
>> Cu, Gunnar
DK> _______________________________________________
DK> equinox-dev mailing list
DK> equinox-dev@xxxxxxxxxxx
DK> https://dev.eclipse.org/mailman/listinfo/equinox-dev

-- 
Peter Kriens                              Tel +33467542167
9C, Avenue St. Drézéry                    AOL,Yahoo: pkriens
34160 Beaulieu, France                    ICQ 255570717
Skype pkriens                             Fax +1 8153772599