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]>