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 50b25395b..ecdeb7d65 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 @@ -21,6 +21,7 @@ package org.navalplanner.business.common; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @Service @@ -38,4 +39,10 @@ public class AdHocTransactionService implements IAdHocTransactionService { return onTransaction.execute(); } + @Override + @Transactional(propagation = Propagation.REQUIRES_NEW) + public T runOnAnotherTransaction(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 5b64f5597..9b6569ec9 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 @@ -27,4 +27,6 @@ public interface IAdHocTransactionService { public T runOnReadOnlyTransaction(IOnTransaction onTransaction); + public T runOnAnotherTransaction(IOnTransaction onTransaction); + }