Can we assume that every mail will always indicate end of processing with
the status "GHOST" which means the last mail processor will always set it to
GHOST status. If we can go by that assumption then we can avoid the problem
of renaming the mail message before putting it on the spool while being
passed from 1 processor to another, by putting a check in JamesSpoolManager
run() method to remove the message from the spool only if the mail status
is GHOST. 
   The advantage of this scheme is that for performance reasons, we can
write the mail message to persistent store (disk, db etc) just once & cache
the mail message in memory which can be stored & retrieved from memory in
between processors and when the mail is completely processed it can be
removed from persistent store. Ofcourse, caching can be made a configurable
option.

Shilpa Dalmia

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to