> > > I'm experiencing spooling issues with file repositories too. > > Actually, I have occassionally seen the same symptom with JDBC, too. > Simple delay of messages or full hangs of single messages?
Just the simple delay. As an aside, we need to make sure that dbfile is working with Derby. It is a common production configuration to use a database with a single file location for all message content. > > The problem *appears* to be with notify(). This is why I > > have wanted us to simplify the logic by having one spool > > thread and plain worker threads that just process what > > they are given. > it's not an easy change mainly because the contract between > mail/spool repositories and james is not clear enough. We should define it. We own those contracts. > What is threadsafe in a repository? The exposed put/get type operations should be thread safe. > What is the correct use of locking/unlocking? Ideally, we should be able to eliminate much of it, and isolate any remaining notion of it. A single spool thread / multiple worker pool change should be helpful in this regard. > Can I store the same message in 2 different repositories? I'd like to be able to say no, but I suspect that we need for some version of the answer to be yes. > Is it safe to store the same message in the same repository > multiple times? We need to distinguish between calling store() and actually storing copies. > Currently we run the notify when the message is stored but > when the message is stored we still got the lock on the Mail I'll try to find time to look at the spooler code again. --- Noel --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]