J Aaron Farr wrote:
Nice to see some good discussion happening about this. I'm going to try to split this out into another threads.
As for discovery methods:
On Mon, 2003-09-01 at 02:54, Stephen McConnell wrote:
Frankly I don't think the current ServiceManager interface is a good candidate for dynamic service discovery. It does not provide support for the supply of a selection policy and its exception suite needs to be beefed up a lot.
Not the current ServiceManager interface, no. My point was, given the two roles of the ServiceManager (dependency, discovery), I tended to use it more for discovery.
The ServiceLocator example you gave was along the lines of what I was thinking. Another option is to first get jndi exporting of services and then do all service discovery via the jndi bindings. The discovery service itself could then also be a JNDI Context or at least provide one. Then you get both JNDI exporting and internal service discovery.
This sounds good.
Any downsides to that?
Not that I can see. One thing we need to be careful about is avoiding the addition of features as opposed to declaring a component (in root or child container) that is a recognized as a "facility" (as distinct from component).
Speaking of Contexts, what about the Avalon Context? Is it providing
dependencies or is it a discovery service?
No discovery. Simply containment context established relative to the contextual dependencies declared by a component.
I like what Merlin now allows us to do in the Context, but I think it's always been confusing have two lookup objects (Context and ServiceManager). Currently I tend to think of the Context as a Container wide configuration object.
Umm, you have me thinking. In Merlin today a component can import standard context entries or you can construct context values within the component deployment directive. Your comment above about "container-wide" get me to thinking about the possibility for the declaration of context keys and bindings at a container level. This would allow me (assembler) to override the value assigned to something like "urn:avalon:home" within the scope of a particular container.
Steve.
--
Stephen J. McConnell mailto:[EMAIL PROTECTED]
Sent via James running under Merlin as an NT service. http://avalon.apache.org/sandbox/merlin
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
