[ https://issues.apache.org/jira/browse/IMAP-216?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12912653#action_12912653 ]
François-Denis Gonthier commented on IMAP-216: ---------------------------------------------- I think this is safe from what I mention above. public void event(Event event) { List<MailboxListener> mListeners = listeners.get(event.getMailboxPath()); if (mListeners != null && mListeners.isEmpty() == false) { MailboxListener[] tmpListeners = mListeners.toArray(new MailboxListener[0]); for (int i = 0; i < tmpListeners.length; i++) { MailboxListener l = tmpListeners[i]; if (l.isClosed()) { mListeners.remove(l); } else { l.event(event); } } } } > DelegatingMailboxListener might skip some events > ------------------------------------------------ > > Key: IMAP-216 > URL: https://issues.apache.org/jira/browse/IMAP-216 > Project: JAMES Imap > Issue Type: Bug > Components: Store > Affects Versions: 0.1 > Reporter: François-Denis Gonthier > Assignee: Norman Maurer > Fix For: 0.2 > > > In the following code from DelegatingMailboxListener, events might be skipped > if the a closed listener is found and removed in the listener list. > public void event(Event event) { > List<MailboxListener> mListeners = > listeners.get(event.getMailboxPath()); > if (mListeners != null && mListeners.isEmpty() == false) { > int sz = mListeners.size(); > for (int i = 0; i < sz; i++) { > MailboxListener l = mListeners.get(i); > if (l.isClosed()) { > mListeners.remove(l); > } else { > l.event(event); > } > } > } > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org