avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niclas Hedhman <nic...@hedhman.org>
Subject Re: [merlin] fine grain component startup control
Date Tue, 09 Dec 2003 00:49:44 GMT
On Tuesday 09 December 2003 06:29, Farr, Aaron wrote:
> 3. Meta level dependencies don't work here.  We are not talking about
> something that the client needs from the service manager, we're talking
> about something it looks up via JNDI.  Perhaps our notion of dependency
> needs to expand.  

IMHO, No, we don't need to expand the notion of dependency.
We need to remove the "static assembly" and introduce a "Service Availability" 
contract. 

This will allow services to "come and go" very much independently of 
everything else.

In your case, "JMS Client" would make a call like;

servicemanager.addServiceListener( JMSService.ROLE, this );

and have the methods

public void serviceAdded( ServiceEvent event );
public void serviceRemoved( ServiceEvent event );

instead of doing the

servicemanager.lookup( JMSService.ROLE );


Making sense?

As for now, I would suggest that your client is not so "greedy".

You claim it needs the "JMS Server" early, but I don't understand why is that 
a requirement.
Create a separate thread, and start it in start(), and from there you should 
be able to handle this "inconvenience" for now.


Cheers,
Niclas

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org
For additional commands, e-mail: dev-help@avalon.apache.org


Mime
View raw message