diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/common/AdHocTransactionService.java b/navalplanner-business/src/main/java/org/navalplanner/business/common/AdHocTransactionService.java index 27e1859f2..5ffd55ade 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/common/AdHocTransactionService.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/common/AdHocTransactionService.java @@ -122,4 +122,10 @@ public class AdHocTransactionService implements IAdHocTransactionService { return onTransaction.execute(); } + @Override + @Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = true) + public T runOnAnotherReadOnlyTransaction(IOnTransaction onTransaction) { + return onTransaction.execute(); + } + } diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/common/IAdHocTransactionService.java b/navalplanner-business/src/main/java/org/navalplanner/business/common/IAdHocTransactionService.java index 9b6569ec9..41f980c40 100644 --- a/navalplanner-business/src/main/java/org/navalplanner/business/common/IAdHocTransactionService.java +++ b/navalplanner-business/src/main/java/org/navalplanner/business/common/IAdHocTransactionService.java @@ -29,4 +29,6 @@ public interface IAdHocTransactionService { public T runOnAnotherTransaction(IOnTransaction onTransaction); + public T runOnAnotherReadOnlyTransaction(IOnTransaction onTransaction); + } diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java index e95ea0410..88a951bf9 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/planner/TaskElementAdapter.java @@ -361,7 +361,7 @@ public class TaskElementAdapter implements ITaskElementAdapter { public String getResourcesText() { try { return transactionService - .runOnReadOnlyTransaction(new IOnTransaction() { + .runOnAnotherReadOnlyTransaction(new IOnTransaction() { @Override public String execute() {