Я получил требование работать с пружинными транзакциями.Если критерии не соответствуют, придется откатить транзакцию вручную.Я получаю исключение, например com.mongodb.MongoClientException: сеансы не поддерживаются кластером MongoDB, к которому подключен этот клиент.Как работать с Spring Mongodb транзакциями.Пожалуйста, помогите мне.
@Autowired
MongoTransactionManager mongoTransactionManager;
@Autowired
TestDao testDao;
@Transactional
public void testMethod() {
int temp = 0;
try {
testDao.saveDatainTempTable();
testDao.saveMongoData();
if (temp == 0) {
System.out.println("=========================");
TransactionInterceptor.currentTransactionStatus().setRollbackOnly();
mongoTransactionManager.rollback(TransactionInterceptor.currentTransactionStatus());
}
} catch (Exception e) {
}
}
@Configuration
public class MongoTransactionConfig extends AbstractMongoConfiguration {
@Bean
MongoTransactionManager transactionManager(MongoDbFactory dbFactory) {
return new MongoTransactionManager(dbFactory);
}
@Override
protected String getDatabaseName() {
return "test";
}
@Override
public MongoClient mongoClient() {
return new MongoClient("127.0.0.1", 27017);
}
}