Q: "When getting a LIST does James open all the files, check the sizes,
then close them all or open them one at a time? I'm figuring the former
given the problem."
A: Actually, neither. If you look at AvalonMailRepository.list(), you'll
see that it merely clones a private set of keys. This set is initialized
from the file system when James starts, and then internally maintained
during operation. The set is initialized from data retrieved via
Cornerstone repositories. Those provide iterators, but I have not traced
their code to see what they do internally.
Q: "2) Why does James not recognize when files get moved into the inboxes?
Shouldn't he be checking to see if the state of things have changed
before assuming what he has cached is correct?"
A: See the answer to the first question. No, when you use the file system
stores, the set is initialized during startup and then maintained
internally.
You might take a look at the current James milestone and see if that helps.
There has been been some cleanup on resource leaks. However for a
conclusive answer, you'll need to check the source code for Cornerstone's
repositories.
Personally, I use JDBC, which defers all of this to the database server.
--- Noel
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>