avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Berin Loritsch <blorit...@apache.org>
Subject Re: SPI/API/Etc.
Date Thu, 10 Jul 2003 16:19:44 GMT
Stephen McConnell wrote:

> Actually I prefer doing the seperation now.  When you start managing 
> classloaders the seperation becomes very important and this will have a 
> direct impact on container side extensions. I can take care of it if you 
> like - its just a few minutes effort.

I'm not going to stop you if that is what you mean.  I just think it is
a bit premature at the moment.  For example:

* Becaues both containers and tools are clients it might be important to
   have the reader/writer/validator interfaces in the API.  Do tools need
   access to the other stuff?

* We only have an incling of an idea what will go into container-side
   extensions.  We have three different containers and each of their
   requirements may require something a bit different for the SPI.  While
   you may have an idea what is good for Merlin, we need to balance that
   with what is good for Phoenix and Fortress.

* We need to shoot lean and mean, and add to the library as we have need.

I understand your concerns about classloader issues.  However, before we
get to that we should have Container Extensions share the classloader with
the kernel in the short term so we have a realistic idea on what parts of
the API are needed for the API/SPI separation.

In other words I prefer taking it one step at a time and letting things
evolve naturally.  We need to focus on getting rudimentary support for
the API in all three containers, and then beefing it up as we need to.

It will also help the rest of us get our feet wet and become familiar with
the core API before we inundate you with "Why did you do this?" or "Wouldn't
it be better if we changed that?".

Remember that it is just as much a logistics nightmare to deal with hundreds
of small jars as it is to work with just a few really big ones.  Esp. if you
have to remember to update the API jar, the IMPL jar, or just the SPI jar and
the IMPL jar, or just the IMPL jar, or etc., etc.

That said, if you want to create the SPI project now, do it.  We can always
refactor as necessary then.


"They that give up essential liberty to obtain a little temporary safety
  deserve neither liberty nor safety."
                 - Benjamin Franklin

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

View raw message