You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/03/30 15:50:17 UTC
svn commit: r929141 -
/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java
Author: norman
Date: Tue Mar 30 13:50:17 2010
New Revision: 929141
URL: http://svn.apache.org/viewvc?rev=929141&view=rev
Log:
We need to synchronize the consuming of the uid with JPA to avoid a race-condition (IMAP-126)
Modified:
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java
Modified: james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java?rev=929141&r1=929140&r2=929141&view=diff
==============================================================================
--- james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java (original)
+++ james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java Tue Mar 30 13:50:17 2010
@@ -103,8 +103,11 @@ public abstract class JPAMailbox extends
return header;
}
- @Override
- protected Mailbox<Long> reserveNextUid() throws MailboxException {
+ /**
+ * Reserve next Uid in mailbox and return the mailbox. This method needs to be synchronized
+ * to be sure we don't get any race-condition
+ */
+ protected synchronized Mailbox<Long> reserveNextUid() throws MailboxException {
final JPAMailboxMapper mapper = createMailboxMapper(getMailboxSession());
final Mailbox<Long> mailbox = mapper.consumeNextUid(mailboxId);
return mailbox;
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org