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