Здравствуйте. Я разрабатываю серверную часть, используя Spring boot и MongoDB 4.0. Чтобы добавить транзакции, я реализовал MongoTransactionManager, как видно из документации транзакции пружинного монго
@Bean
MongoTransactionManager transactionManager(MongoDbFactory dbFactory) {
return new MongoTransactionManager(dbFactory);
}
Но когда я аннотирую метод с помощью @Transactional (rollbackFor = NullPointerException.class), он не откатывается для этого исключения.
Например, следующий тест не работает.
У вас есть какие-либо советы, чтобы решить эту проблему, пожалуйста?
@Test
@Transactional(rollbackFor = NullPointerException.class)
public void testTransaction() {
try {
myRepo.deleteAll();
throw new NullPointerException();
} catch (
NullPointerException e) {
} finally {
assertThat(myRepo.findAll()).isNotEmpty();
}
}