On Wed, May 13, 2009 at 2:56 PM, Martin.Bergljung <[email protected]> wrote: > Hi, > > I now know why my EXPUNGEs did not work. > > I was creating a new Mailbox for every call to MailboxManager.getMailbox(). > > This was because I create 2 different mailboxes dependent on the user's > permission. > Either AlfrescoMailbox or AlfrescoNoAccessMailbox. > > I have now changed to cache the mailboxes as you do in TorqueMailboxManager: > > private final Map<String, AlfrescoMailbox> m_cachedWritableMailboxes; > private final Map<String, AlfrescoNoAccessMailbox> m_cachedReadOnlyMailboxes; > > That works better as I can see the Outlook UI removing the messages after an > EXPUNGE. > And it is much faster and I save heap space, which I have seen in one or our > client installs > being heavily consumed, returned (GCed) eventually but you risk hitting OOM > exceptions.
yep the legacy MailboxListener stuff means that mailboxes need to be kept around until all listeners are done. been wondering for a while whether per mailbox listeners are a good idea... > However, the Message Sequence Numbers for the expunged messages are not > responded with > in the correct order. I need to check my code and see what is going on. > What this means is that Outlook can remove messages from the UI that has not > really been removed. MSNs are a real PITA and i doubt that the legacy solution used by torque and store scales well enough. maintaining lists per client connection is easiest way to get them right but is very expensive for large mailboxes and many users. need a better solution, i think... - robert --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
