james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Heath <mhe...@avaloninc.com>
Subject Re: [ GSoC - failfast SMTP ] Architecture and suggestion
Date Sat, 16 Jul 2005 00:02:29 GMT
On Fri, 2005-07-15 at 10:23 +0200, Stefano Bagnara wrote:
> I think that you could look better to Mina and talk with Mike Heath that was
> developing an SMTP implementation over Mina. (search for "Mina based SMTP
> handler" in the archives): this probably will make your work easier and it
> would be good for the Apache community to share common libraries.
> 
> E.g: if we use Mina we will get JMX for the protocol handlers for free as
> soon as they implement it (already in roadmap for Mina 1.1).

My MINA based SMTP protocol handler is at http://hausmail.safehaus.org/
The code depends on MINA trunk and won't compile at the moment because
of some changes to MINA.  I should have this issue resolved over the
weekend though.

HausMail implements STARTTLS and already has some fast fail support if
TLS is required.  It is also very fast and optimized for performance.
It does zero copy all the way up the protocol stack so it can receive
data very efficiently.

I haven't tested HausMail for load and performance much yet but I have
access to some of the super computers at Brigham Young University as
part of my grad school studies and I plan to take full advantage of
them.

There are issues to using MINA though.  Using TLS with MINA requires
Java 5.0.  Also, Noel doesn't seem to excited to depend heavily on MINA
(which, for the record, I don't agree with).  I think the advantages of
MINA heavily out weight the cons.  Aside from SMTP, I honestly can't see
JAMES having a scalable IMAP server without using a Staged Event Driven
Architecture (SEDA) architecture and MINA gives us that for free.

If there are questions about HausMail and/or MINA, I'm more than happy
to try and answer them.

-Mike


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