james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Bagnara <apa...@bago.org>
Subject Re: [mailets] POJOs (and in particular SieveToMultiMailbox)
Date Wed, 03 Sep 2008 11:19:45 GMT
Bernd Fondermann ha scritto:
> On Mon, Sep 1, 2008 at 23:58, Robert Burrell Donkin
> <robertburrelldonkin@gmail.com> wrote:
>> On Mon, Sep 1, 2008 at 2:56 PM, Stefano Bagnara <apache@bago.org> wrote:
>>> Robert Burrell Donkin ha scritto:
>> IMHO JAMES specific mailets are an anti-pattern. we need to work
>> towards decoupling minimal SPIs for mailets from the large APIs used
>> internally by JAMES. i prefer to think about mailet loaders and
>> processor assemblers indepedently. avalon is not a good match for this
>> problem. more modern IoC containers like pico or spring as *much*
>> better.
> 
> +1
> 
> The underlying question is: What dependencies do mailets need? There
> is not a general answer to this question!
> Some mailets need only the mail itself and maybe some abstract
> (just-a-name) "target" processor. Some might need access to services
> through a generalizable interface, independent of James. Some even
> might need James-specific services.
> If we provide a solution to the first case, that'd be a pretty big
> step forward, already.
> The third case we already have solved :-)
> The second one is the toughest, because it needs a lot of knowlegde
> about how mailets could want to interact with their container. Every
> interaction is actually executed by looking up a container service and
> making calls to its service interface. So we could work towards a
> solution by defining the different dependent services we find in
> existing mailets and define interfaces for every one of them. So we
> avoid the need for having one swiss knife solution for everything and
> concentrate on the different aspects of mailet-container dependency
> one-by-one.

Here is a 2 years old overview, but we didn't change much in the code so 
it is probably current:
http://markmail.org/message/ktrgsga4enenhy4z

Stefano

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