Spring MongoDB Java驱动程序1.4.1引发异常;“复制正在关闭”;主服务故障切换时的保存

Spring MongoDB Java驱动程序1.4.1引发异常;“复制正在关闭”;主服务故障切换时的保存,spring,mongodb,Spring,Mongodb,Java Mongo驱动程序1.4.1具有一个仲裁器/故障转移测试的四节点复制集 例外情况是: Query failed with error code 11600 and error message 'interrupted at shutdown' on server mongo驱动程序在mongo保存时失败,但在java异常之后mongo数据库完成时,选择正常。在退出主菜单和选择新的主菜单之间发生异常 如何使用驱动程序或replicaset连接设置防止mongo save上出现以下sta

Java Mongo驱动程序1.4.1具有一个仲裁器/故障转移测试的四节点复制集

例外情况是:

Query failed with error code 11600 and error message 'interrupted at shutdown' on server
mongo驱动程序在mongo保存时失败,但在java异常之后mongo数据库完成时,选择正常。在退出主菜单和选择新的主菜单之间发生异常

如何使用驱动程序或replicaset连接设置防止mongo save上出现以下stacktrace?司机是否有可能为选举等待足够的时间,或者我是否需要重新打开连接

我什么都试过了。我应该重新打开连接,还是应该在replicaset上增加/减少默认的
electionTimelimitMillis
heartbeatTimeoutMillis
,并增加
connectionTimeout
,java或其他设置中的
serverSelectionTimeout
可用于确保驱动程序等待辅助设备被选为主设备。mongodb本身正确地进行了选举,但到那时MongoSave已经失败了

我还尝试从驱动程序到数据库运行ping,以发现主驱动程序的运行速度更快

以下是完整的堆栈跟踪:

Caused by: com.mongodb.MongoCommandException: Command failed with error 11600: 'interrupted at shutdown' on server xxxx:999. 
The full response is { "ok" : 0.0, "errmsg" : "interrupted at shutdown", "code" : 11600, "codeName" : "InterruptedAtShutdown" }
    at com.mongodb.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:115)
    at com.mongodb.connection.WriteCommandProtocol.receiveMessage(WriteCommandProtocol.java:240)
    at com.mongodb.connection.WriteCommandProtocol.execute(WriteCommandProtocol.java:104)
    at com.mongodb.connection.InsertCommandProtocol.execute(InsertCommandProtocol.java:67)
    at com.mongodb.connection.InsertCommandProtocol.execute(InsertCommandProtocol.java:37)
    at com.mongodb.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:159)
    at com.mongodb.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:286)
    at com.mongodb.connection.DefaultServerConnection.insertCommand(DefaultServerConnection.java:115)
    at com.mongodb.operation.InsertOperation.executeCommandProtocol(InsertOperation.java:76)
    at com.mongodb.operation.BaseWriteOperation$1.call(BaseWriteOperation.java:141)
    at com.mongodb.operation.BaseWriteOperation$1.call(BaseWriteOperation.java:133)
    at com.mongodb.operation.OperationHelper.withConnectionSource(OperationHelper.java:230)
    at com.mongodb.operation.OperationHelper.withConnection(OperationHelper.java:221)
    at com.mongodb.operation.BaseWriteOperation.execute(BaseWriteOperation.java:133)
    at com.mongodb.operation.BaseWriteOperation.execute(BaseWriteOperation.java:60)
    at com.mongodb.Mongo.execute(Mongo.java:781)
    at com.mongodb.Mongo$2.execute(Mongo.java:764)
    at com.mongodb.DBCollection.executeWriteOperation(DBCollection.java:333)
    at com.mongodb.DBCollection.insert(DBCollection.java:328)
    at com.mongodb.DBCollection.insert(DBCollection.java:319)
    at com.mongodb.DBCollection.insert(DBCollection.java:289)
    at com.mongodb.DBCollection.insert(DBCollection.java:255)
    at com.mongodb.DBCollection.insert(DBCollection.java:177)
    at com.mongodb.DBCollection.save(DBCollection.java:398)
    at com.mongodb.DBCollection.save(DBCollection.java:373)
    at org.springframework.data.mongodb.core.MongoTemplate$11.doInCollection(MongoTemplate.java:1085)
    at org.springframework.data.mongodb.core.MongoTemplate.execute(MongoTemplate.java:462)