我们正在评估 TokuMX,因此我们可以使用它的 ACID 事务功能,但我们希望将它与 Spring Data for MongoDB 一起使用。
那么,问题来了:由 Spring Data 线程管理的 MongoDB 连接是否有界,以便我们可以利用 TokuMX 事务实现?
我们正在评估 TokuMX,因此我们可以使用它的 ACID 事务功能,但我们希望将它与 Spring Data for MongoDB 一起使用。
那么,问题来了:由 Spring Data 线程管理的 MongoDB 连接是否有界,以便我们可以利用 TokuMX 事务实现?
根据这个:
http://docs.mongodb.org/ecosystem/drivers/java-concurrency/#java-driver-concurrency
看起来连接是从内部连接池中拉出并“按请求”返回的,因此没有与线程绑定的数据库连接。
我还没有找到一种方法来覆盖它。也许那里有另一个驱动程序,或者我还没有找到一个设置。
编辑:显然我没有读足够远的文章。您应该能够使用 db.requestStart() 来确保线程保持连接。
这里也提到了 C# 和 Python:
http://docs.tokutek.com/tokumx/tokumx-transactions.html#tokumx-transactions-multi-statement-drivers