我有一个使用Mongo交易的用例。为了启用交易,我遵循了mongo transaction document 在我的应用程序中,我也具有MySql DB连接。
在创建mongo事务bean之后,JPA存储库save()方法不会持久存储数据。
如果我注释掉MongoTransactionManager bean,则JPA存储库保存方法效果很好:
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,并且作为Application类的@PostConstruct的一部分,将尝试填充表。
当mongo事务bean不存在时,将填充该表。 但是当MongoTransactionBean存在时,不会填充任何东西。
我希望启用MongoTransactions并正确运行mysql save()。有人可以帮我弄清楚如何解决这个问题吗?