On 02.07.2010, at 19:03, Henrik Niehaus wrote:

> Am 01.07.2010 19:40, schrieb Clement Escoffier:
>> Hi,
>> 
>> On 01.07.2010, at 18:39, Henrik Niehaus wrote:
>> 
>>> Hi,
>>> 
>>> I'm wondering, if there is a way to detect, when all services of a
>>> component are registered. E.g. I have a component, which provides the
>>> service ResourceBundleProvider
>>> 
>>> <snip>
>>> @Component
>>> @Provides
>>> public class DmaxParser implements IWebParser, ResourceBundleProvider {
>>> 
>>> @Requires
>>>   private Messages i18n;
>>> </snap>
>>> 
>>> ResourceBundleProvider is consumed by another bundle, which aggregates
>>> all ResourceBundleProviders and creates one big i18n registry. This
>>> registry is also a service called Messages. As you can see, this service
>>> is injected DmaxParser.
>>> 
>>> In the start method of DmaxParser I now want to use the messages service
>>> for i18n. But it may happen, that the start method is called before the
>>> ResourceBundleProvider service has been added to the Messages service.
>>> That results in missing translations in the start method. It would be
>>> great, if could get a callback or something, which tells me, that all
>>> services have been registered. Is there a way to realize that or do I
>>> have to rethink my design?
>> 
>> iPOJO 1.6.2 supports a post registration callback called when the service 
>> registration is done.
>> @PostRegistration
>> public void registered(ServiceReference ref) {
>>      System.out.println("Registered");
>> }
>> More details available here :
>> http://felix.apache.org/site/providing-osgi-services.html#ProvidingOSGiservices-Beingnotifiedoftheserviceregistrationandunregistration
>> 
>> Regards,
>> 
>> Clement
>> 
>>> 
>>> Cheers
>>> Henrik
>>> 
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>> 
>> 
>> 
> 
> Thanks for the hint. I didn't find it on the website. I have had a look
> at the reference card, but the PostRegistration annotation is not
> mentioned there. Probably because it's too young to make it there ;)

Or maybe because I forgot :-) I just did it. Will be available after the next 
synchronization.

Regards,

Clement

> 
> 
> Thanks,
> Henrik
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to