У меня есть вариант использования транзакций Монго. Для включения транзакций я следовал документу mongo
В моем приложении также есть подключения к БД MySql.
После создания компонента транзакции Монго метод save () репозиториев JPA не сохраняет данные.
Метод сохранения репозиториев JPA работает хорошо, если я закомментирую bean-компонент MongoTransactionManager:
public class MongoTransactionConfiguration extends AbstractMongoConfiguration {
@Autowired
private MongoProperties props;
/* @Bean
MongoTransactionManager transactionManager(MongoDbFactory dbFactory) {
return new MongoTransactionManager(dbFactory);
}*/
@Override
public MongoClient mongoClient() {
return new MongoClient(new MongoClientURI(props.getUri()));
}
@Override
protected String getDatabaseName() {
return props.getDatabase();
}
}
Пример кода доступен в github
В этом примере я подключаюсь к локальному хосту mysql и, как часть @PostConstruct класса Application, попытаюсь заполнить таблицу.
Таблица заполняется, когда компонент транзакции Монго не существует.
Но когда MongoTransactionBean существует, ничто не заполняется.
Я ожидаю, что MongoTransactions включен и правильное функционирование mysql save (). Может ли кто-нибудь помочь мне понять, как преодолеть эту проблему?