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 bt...@apache.org on 2019/11/21 02:00:40 UTC

[james-project] 05/13: [Refactoring] JPAUidProvider: transaction upon reads are not required

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

View the commit online:
https://github.com/apache/james-project/commit/0bd003c431bd8444cdd98192a03aa4f39a6e50f4

commit 0bd003c431bd8444cdd98192a03aa4f39a6e50f4
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Nov 18 17:44:20 2019 +0700

    [Refactoring] JPAUidProvider: transaction upon reads are not required
---
 .../java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java     | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java
index 503cf8d..199d8f9 100644
--- a/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java
+++ b/mailbox/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAUidProvider.java
@@ -48,18 +48,13 @@ public class JPAUidProvider implements UidProvider {
         EntityManager manager = null;
         try {
             manager = factory.createEntityManager();
-            manager.getTransaction().begin();
             JPAId mailboxId = (JPAId) mailbox.getMailboxId();
             long uid = (Long) manager.createNamedQuery("findLastUid").setParameter("idParam", mailboxId.getRawId()).getSingleResult();
-            manager.getTransaction().commit();
             if (uid == 0) {
                 return Optional.empty();
             }
             return Optional.of(MessageUid.of(uid));
         } catch (PersistenceException e) {
-            if (manager != null && manager.getTransaction().isActive()) {
-                manager.getTransaction().rollback();
-            }
             throw new MailboxException("Unable to get last uid for mailbox " + mailbox, e);
         } finally {
             if (manager != null) {
@@ -92,7 +87,7 @@ public class JPAUidProvider implements UidProvider {
             if (manager != null && manager.getTransaction().isActive()) {
                 manager.getTransaction().rollback();
             }
-            throw new MailboxException("Unable to save next uid for mailbox " + mailboxId, e);
+            throw new MailboxException("Unable to save next uid for mailbox " + mailboxId.serialize(), e);
         } finally {
             if (manager != null) {
                 manager.close();


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org