Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
此客户端连接到的MongoDB群集不支持会话springboot MongoDB事务_Mongodb_Spring Boot_Transactions_Mongotemplate - Fatal编程技术网

此客户端连接到的MongoDB群集不支持会话springboot MongoDB事务

此客户端连接到的MongoDB群集不支持会话springboot MongoDB事务,mongodb,spring-boot,transactions,mongotemplate,Mongodb,Spring Boot,Transactions,Mongotemplate,我需要处理spring mongotemplate事务。 除非满足条件,否则必须手动回滚事务。 我有点异常 com.mongodb.MongoClientException:此客户端所连接的mongodb群集不支持会话。 如何使用Spring mongodb事务。 请帮帮我 @Autowired MongoTransactionManager mongoTransactionManager; @Autowired TestDao testDao; @Transactional public

我需要处理spring mongotemplate事务。 除非满足条件,否则必须手动回滚事务。 我有点异常 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);
    }
}
  • 在Linux上,包含默认的/etc/mongod.conf配置文件 使用包管理器安装MongoDB时

  • 在Windows上,一个 默认的/bin/mongod.cfg配置文件为 包括在安装过程中

  • 在macOS上,包含默认的/usr/local/etc/mongod.conf配置文件 从MongoDB官方自制软件安装时,点击

添加以下配置

replication:
   oplogSizeMB: 128
   replSetName: "rs0"
   enableMajorityReadConcern: true
sudo服务mongod重启

rs.initiate({
      _id: "rs0",
      version: 1,
      members: [
         { _id: 0, host : "localhost:27017" }
      ]
   }
)
mongo

rs.initiate({
      _id: "rs0",
      version: 1,
      members: [
         { _id: 0, host : "localhost:27017" }
      ]
   }
)
检查要启用的配置

rs.conf()
我们可以使用连接URL作为

mongodb://localhost/default?ssl=false&replicaSet=rs0&readPreference=primary

文档:

考虑将服务器端Mongo客户端更新为支持会话的版本。我只使用支持会话的Mongo v4.0.9更新版本。但我仍然遇到异常。我不明白我的错误所在。我在使用monogdb server 4.0时遇到了类似问题。9@naaz如果你有什么解决办法,请告诉我被告知在我的案例中,它不适用于单个实例