是否有人知道耐久性构造函数参数中的waitTimeoutMillis
实际上在allanbank异步驱动程序(或10gen驱动程序)中做了什么?
如果我设置0
的超时,它会永远等待吗?如果我设置了一个非常低的超时(例如1
)并且超时被触发,它会取消事务还是只是抛出一个异常并在事务完成之前返回?
超时是作为getLastError命令(或GLE)的一部分在服务器上处理的。
参见http://docs.mongodb.org/manual/reference/command/getLastError/#dbcmd.getLastError:
wtimeout (integer) -可选。毫秒。指定一个以毫秒为单位的值来控制等待写传播完成的时间。如果复制没有在给定的时间范围内完成,getLastError命令将返回一个错误状态。
基于10gen驱动Javadoc相信waitTimeout永远为0块,但我必须测试它来验证。