Сеансы не поддерживаются кластером MongoDB, к которому подключен этот клиент-springboot-mongodb-Transactions - PullRequest
0 голосов
/ 24 июня 2019

Я получил требование работать с пружинными транзакциями.Если критерии не соответствуют, придется откатить транзакцию вручную.Я получаю исключение, например 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);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...