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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to