james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mark Daring" <cog...@chello.at>
Subject Re: LocalDelivery and Delivered-To
Date Sun, 09 Nov 2003 18:38:35 GMT

----- Original Message -----
From: "Noel J. Bergman" <noel@devtech.com>
To: "James Developers List" <server-dev@james.apache.org>
Sent: Sunday, November 09, 2003 5:17 PM
Subject: RE: LocalDelivery and Delivered-To


> Send an e-mail to multiple local recipients.  Each time you call
addHeader,
> you should be adding a new Delivered-To header to the message, which means
> that you will be accumulating additional headers.  If you only have one
> local recipient, you'll never notice the difference.

Yes, I have taken that into account and thats also why I have to remove the
header after leaving
LocalDelivery

> The call to saveChanges is required by the JavaMail specification, but we
> end up short-circuiting it, which is the whole purpose for our
> updateHeaders() method.

Different approach same result. But my message isnt loaded into memory.

> The only place we create a duplicate in LinearProcessor is where we have
two
> paths for a Mail to take after a matcher.  IFF there are recipients for
both
> paths, a duplicate is made of the Mail, which is just the processing
> envelope not the message contents, to track the dual paths.

Yes, the situation when theres a mix of recipients. This duplication was
eliminated.
Not a big change but quicker.

> I've been aware of this issue, and am planning address it shortly.  One
> thing that you can do is use the dbfile protocol.

I added an additional tag in my config-file setting the max messagesize of
mails I dont want to
store in the DB. If the size is exceeded I move the tmp-file (.m64) into the
users inbox
and reset the filelocation in the messagesource object, so finally the mail
wont be loaded into
memory ever.

> My James version im working with is quite different but
> > I dont think it has any affect on this peace of code.
>
> Do you want to submit any of your changes for consideration?

If it can be usefull I will, but I am afraid I made too many changes that
only meet my needs.
The first thing I did with version 2.1 was removing pheonix. My start up of
James is done in a single class.
I was alienated by the fact that an email server is integrated into a
container because in my opinion
this is a classic stand alone app but this is only a question of taste, so
we shouldnt argue about that.
Already at this point I doubted that I could make any useful contributions
besides expressing
general ideas or addressing very specific issues.

Another point was the spooler. I have two (different versions) of them. One
for my incoming messages and another for my
error-messages. Loading the same mail repeatedly into one spooler wasnt as
efficient as I thought it should
be.

A message cache for/in the MailRepositories also improved the performance.
Also a cache for the PreparedStatements.

The only thing left is clustering capabilities which is the next I will be
on as far as I can free time for it.
This reminds me of a debate earlier this year. If I am really concerned
about failure detection and prevention
I would definetly use a cluster and dont invest my energy in creating
interprocess software communication on a single machine.




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