diff --git a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java index 648a4bd0d..fc17fd9bb 100644 --- a/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java +++ b/fineract-provider/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsAccountWritePlatformServiceJpaRepositoryImpl.java @@ -132,6 +132,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; @@ -1711,7 +1712,7 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi } @Override - @Transactional + @Transactional(propagation = Propagation.REQUIRES_NEW) public void setSubStatusInactive(Long savingsId) { final SavingsAccount account = this.savingAccountAssembler.assembleFrom(savingsId, false); final Set existingTransactionIds = new HashSet<>(); @@ -1723,7 +1724,7 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi } @Override - @Transactional + @Transactional(propagation = Propagation.REQUIRES_NEW) public void setSubStatusDormant(Long savingsId) { final SavingsAccount account = this.savingAccountAssembler.assembleFrom(savingsId, false); account.setSubStatusDormant(); @@ -1731,7 +1732,7 @@ public class SavingsAccountWritePlatformServiceJpaRepositoryImpl implements Savi } @Override - @Transactional + @Transactional(propagation = Propagation.REQUIRES_NEW) public void escheat(Long savingsId) { final SavingsAccount account = this.savingAccountAssembler.assembleFrom(savingsId, false); final Set existingTransactionIds = new HashSet<>(); diff --git a/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java index 09ffb0376..552e17498 100644 --- a/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java +++ b/integration-tests/src/test/java/org/apache/fineract/integrationtests/ClientSavingsIntegrationTest.java @@ -55,7 +55,6 @@ import org.apache.fineract.portfolio.charge.domain.ChargeTimeType; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -1866,7 +1865,6 @@ public class ClientSavingsIntegrationTest { } @Test - @Disabled // FIXME public void testSavingsAccount_DormancyTracking() throws InterruptedException { this.savingsAccountHelper = new SavingsAccountHelper(this.requestSpec, this.responseSpec);