Leo Simons wrote:
Hi all,

Dan Diephouse wrote:

1. The component lookup mechanisms. Plexus includes a mechanism to have multiple comonents under the same role by extending Avalon's ServiceManager instead of just:

ServiceManager.lookup( String Role );

there is:

ServiceBroker.lookup( String Role, String id );

and you can do things like load a component and pass a custom configuration to it which is awesome:

ServiceBroker.lookup( String Role, Configuration config );

Do I need to explain how useful these things are?

I can go into a multiple-week discussion with you about that. Seperation of Concerns, Inversion of Control, you know, the "religious avalon terms" :D

Let's not do that right now, but I do feel like pointing out avalon peeps have spent like months and months hammering out decisions wrt interfaces like ServiceManager...and I hence have a different opinion, and I think ServiceBroker.lookup( String Role, String id ) is a Bad Thing ;)

<snip testcase/>
For the moment we'll agree to disagree. Maybe I will post a message to avalon list with my test case in a few days to see what they say.

3. It is not mutually exclusive with other containers. That is, a component developed for ECM can work in plexus and vice versa.

reuse support is a tricky thing. If you do so much as

import org.zenplex.plexus.<whereisit>.ServiceBroker;

you're already on really thin ice. Once you get to

service( ServiceManager sm )
{ m_broker = (ServiceBroker)sm; }

you start losing compatibility real fast. Not that it won't work, but the effort to make it work will increase rapidly.
Well, if you took that interface you'd have to accept incompatability with other containers. The point is Plexus can load ECM components.

4. I don't want to insult the avalon team, but it isn't vapourware. It is here and working very well.

none taken :D (hey wait a min...only as long as you're not implying avalon as a whole is vapourware...but I will concede an avalon "SuperContainer" is mostly a bullet on a roadmap at this point.)
Yes, I was referring to the SuperContainer :)

Regards,

Dan Diephouse



--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to