Am Samstag, den 08.07.2006, 12:56 +0200 schrieb Bernd Fondermann: > > For accessing a DB cluster you don't need any specialization. Any > > application that uses JDBC should be able to do it quite out of the box. > > Keeping the whole of James in mind, I think it is more worthwhile to > think about clustering James instead of clustering IMAP servers using > RDBMSs.
Well, I was talking about an cluster-able Message Repository and what has to be considered when using it with IMAP. Of course a cluster-able Message Repository includes that it has to accessed by complete James. For example: I you would implement a MailRepository that relies on RDBMS locking instead of doing it locally. Central UserRepository should be no problem. Than you could have multiple instances of James without having to touch any further existing code. As a first step you could measure the queue length and cpu utilization to do load balancing. The only blocking thing is the local HashMap locking in JDBCMailRepository. (Of course there could be other things because I have limited experience with James) The weak point would be that there are running local queues on the individual servers. Nobody could foresee how work-intensive a single queue entry would be. The solution would be a shared queue for all James instances. This would require a locking-algorithm to determine which server should pick up which entry. But that should be possible using RDBMS. James instances could be added and removed on the fly. I don't see a reason why James has to be cluster agnostic apart from that. Using RDBMS together with the dbfile strategy should be most effective. Fail-safe, clustered file-systems and RDBMSs are there, open source solutions exist, we could rely on that without reinventing the wheel. Joachim > > Bernd > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]