james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Danny Angus <danny.an...@gmail.com>
Subject Re: JDBC Repository - Thoughts
Date Wed, 13 Apr 2005 12:44:33 GMT
On 4/13/05, Hasan Ceylan <hceylan@biletix.com> wrote:
> Hello,
> I have recently downloaded and inspected james. I would like to congratulate the hard
work and effort
> put into the product by all developers.
> Howeever,
> I have found some points in JDBC Repository that needs some care.
> Correct me if I am wrong in following
> - James does not have a database connection pooling impl.

Yes it does it uses dbcp from jakarta commons.

> - When you connect to james pop3 server
>     a) It first fetches all the message headers
>     b) Then it fetches the message details for each of the message.

This is pretty much the way that POP3 works, there is no requirement
for messages to be returned just because the list is requested.

> Sockets exhaust in the OS (OK you can enlarge the client socket port window and reduce
the time_wait value)
What sockets? db connection or pop3 connection?

> Takes hell a lot of time just to open the folder and causes the client to timeout.
If you mean it takes time to download the mail using pop3 I would
suggest that this is a limitation of the protocol. It is a serial
protocol only permitting one connection per account at any time and
one command to be issued at a time on that connection.
> Since most of the web mails and some humanbeings prefer the keep the messages in the
repository until its deleted permanantly, this way of implementation lowers the usability
of james.

Sadly James is following the pop3 protocol, we would be wrong to load
all of the mail from the database into memory if all that was
requested was the list. and pop3 only allows one message to be
retrieved at a time, by name or sequence number.

We could try some kind of read-ahead optimisation, perhaps to allow
James to have the next message, or set of messages, cached ready to
send when the next pop3 RETR command is recieved. but this would
require that we could guess what message was going to be requested.


To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org

View raw message