james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Burrell Donkin" <robertburrelldon...@gmail.com>
Subject Re: 2.3.x vs trunk [WAS Re: [VOTE] Mailets -> Mailet subproject]
Date Wed, 26 Mar 2008 22:13:23 GMT
On Thu, Mar 6, 2008 at 6:49 AM, Noel J. Bergman <noel@devtech.com> wrote:
> Robert Burrell Donkin wrote:
<snip>
> > i'm happy with avalon but i accept that using avalon (as an IoC) is
> > a major negative factor in attracting new developers
>
> I think that's a false truth that has become a meme. Drop the name Avalon,
> say that JANES has its own infrastructure, and the "Avalon is dead" nonsense
> goes away. Although we can and should continue the pojofication of JAMES
> over time.

avalon is dead. we killed it. that's not a meme or nonsense but a fact.

to say that JAMES has it's own infrastructure is not entirely true:
once a developer starts looking at the code, the falsehood will
quickly become exposed. i'll go through some areas.

JAMES uses LogKit (and so avalon framework) for logging. though LogKit
is good, it's tied to avalon and no longer widely used. most
developers would be much more familiar with log4j and JCL. it is
possible to use either of these libraries in an IoC fashion which
would continue to support area based logging.

JAMES has it's own bio framework based on excalibur (which is alive)
but we've done a poor job of clearly factoring it out cleanly from
avalon. this would not matter so much if it used delegation rather
than inheritance.

many of the JAMES backends are implemented using avalon components

> A major area to look at is configuration.

use of avalon as our IoC container is a major issue. we can't hide it.
there's no spinning it. any developer who wants to code anything new
or interesting (rather than just maintaining the existing codebase)
has to learn avalon. this is proves too big hurdle for most.

as far as IoC containers go, Avalon is definitely showing it's age: it
relies on far too many configuration files and assembling components
takes too much legroom. use of avalon to assemble JAMES might be
usefully replaced by OSGI.

- robert

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


Mime
View raw message