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/20 01:56:38 UTC
[james-project] 10/49: [Refactoring] JPARecipientRewriteTable
should not open transactions upon read
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
commit 56ff7c97ccef3e6fbe66108243b08b480c8aee49
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Mon Nov 18 14:17:41 2019 +0700
[Refactoring] JPARecipientRewriteTable should not open transactions upon read
---
.../org/apache/james/rrt/jpa/JPARecipientRewriteTable.java | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java b/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
index 0df606d..83c364b 100644
--- a/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
+++ b/server/data/data-jpa/src/main/java/org/apache/james/rrt/jpa/JPARecipientRewriteTable.java
@@ -88,24 +88,18 @@ public class JPARecipientRewriteTable extends AbstractRecipientRewriteTable {
@Override
public Mappings getStoredMappings(MappingSource source) throws RecipientRewriteTableException {
EntityManager entityManager = entityManagerFactory.createEntityManager();
- final EntityTransaction transaction = entityManager.getTransaction();
try {
- transaction.begin();
@SuppressWarnings("unchecked")
List<JPARecipientRewrite> virtualUsers = entityManager.createNamedQuery("selectUserDomainMapping")
.setParameter("user", source.getFixedUser())
.setParameter("domain", source.getFixedDomain())
.getResultList();
- transaction.commit();
if (virtualUsers.size() > 0) {
return MappingsImpl.fromRawString(virtualUsers.get(0).getTargetAddress());
}
return MappingsImpl.empty();
} catch (PersistenceException e) {
LOGGER.debug("Failed to get user domain mappings", e);
- if (transaction.isActive()) {
- transaction.rollback();
- }
throw new RecipientRewriteTableException("Error while retrieve mappings", e);
} finally {
entityManager.close();
@@ -115,22 +109,16 @@ public class JPARecipientRewriteTable extends AbstractRecipientRewriteTable {
@Override
public Map<MappingSource, Mappings> getAllMappings() throws RecipientRewriteTableException {
EntityManager entityManager = entityManagerFactory.createEntityManager();
- final EntityTransaction transaction = entityManager.getTransaction();
Map<MappingSource, Mappings> mapping = new HashMap<>();
try {
- transaction.begin();
@SuppressWarnings("unchecked")
List<JPARecipientRewrite> virtualUsers = entityManager.createNamedQuery("selectAllMappings").getResultList();
- transaction.commit();
for (JPARecipientRewrite virtualUser : virtualUsers) {
mapping.put(MappingSource.fromUser(virtualUser.getUser(), virtualUser.getDomain()), MappingsImpl.fromRawString(virtualUser.getTargetAddress()));
}
return mapping;
} catch (PersistenceException e) {
LOGGER.debug("Failed to get all mappings", e);
- if (transaction.isActive()) {
- transaction.rollback();
- }
throw new RecipientRewriteTableException("Error while retrieve mappings", e);
} finally {
entityManager.close();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org