我们有一个复制设置,主节点,辅助节点和仲裁节点运行mongodb社区服务器v3.4.16 .

我们正在使用jasperserver从mongodb数据库生成100个报告 .

最近我们在连接到mongodb服务器时开始面临连接重置问题,因为报告随机失败 .

应用程序(jasperserver)和mongodb在同一个网络中,它们之间没有防火墙 .

有人可以提供任何指示,以进一步调查根本原因,以便它可以修复?

2018-12-07 03:46:00,631 ERROR MongoDbConnectionFactory,quartzScheduler_Worker-34:85 - 无法验证对象;造成:无法测试MongoDB连接;引起:异常接收message2018-12-07 03:46:00,631 ERROR MongoDbConnectionFactory,quartzScheduler_Worker-34:85 - 无法验证对象;造成:无法测试MongoDB连接;引起:异常接收messagenet.sf.jasperreports.engine.JRException:无法测试MongoDB连接;引起:com.jaspersoft.mongodb.mongodb.mongodb.connection.MongoBb上的com.jaspersoft.mongodb.connection.MongoDbConnectionFactory.validateObject(MongoDbConnectionFactory.java:83)中com.jaspersoft.mongodb.connection.MongoDbConnection.test(MongoDbConnection.java:193)的异常接收消息位于com.jaspersoft.mongodb.connection.MongoDbConnectionManager.borrowConnection(MongoDbConnectionManager.java)的org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1165)中的.connection.MongoDbConnectionFactory.validateObject(MongoDbConnectionFactory.java:29) :66)at com.jaspersoft.mongodb.jasperserver.MongoDbDataSourceService45.createConnection(MongoDbDataSourceService45.java:90)at com.jaspersoft.mongodb.jasperserver.MongoDbDataSourceService45.setReportParameterValues(MongoDbDataSourceService45.java:75)at com.jaspersoft.jasperserver.api . com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.Engi上的engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:1806) neServiceImpl $ ReportFill.runWithDataSource(EngineServiceImpl.java:1143)位于com.jaspersoft.jasperserver.api的com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl $ ReportFill.runReport(EngineServiceImpl.java:1072) . engine.jasperreports.service.impl.EngineServiceImpl $ ReportRunnable.run(EngineServiceImpl.java:967)at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl $ SynchronousExecutor.execute(EngineServiceImpl.java:945)at Com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:651)at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.executeReportUnitRequest(EngineServiceImpl.java) :2068)com.jaspersoft.jasperserver.api.engine.jasperreports.domain.impl.ReportUnitRequest.execute(ReportUnitRequest.java:67)at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.execute (EngineServiceImpl.java:529)at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.runReport(ReportExecutionJob.java:836)at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.executeReport(ReportExecutionJob.java:803)at at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.executeReport(ReportExecutionJob.java:704)at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.executeAndSendReport(ReportExecutionJob.java:499)at com.jaspersoft.jasperserver.api.engine.scheduling.quartz.ReportExecutionJob.execute(ReportExecutionJob.java:248)org.quartz.core.JobRunShell.run(JobRunShell.java:213)org.quartz.simpl.SimpleThreadPool $ WorkerThread.run(SimpleThreadPool.java:557)引起:com.mongodb.MongoSocketReadException:在com.mongodb.connection.InternalStreamConnection.receiveMessage上的com.mongodb.connection.InternalStreamConnection.translateReadException(InternalStreamConnection.java:480)接收消息的异常( INTERNA lStreamConnection.java:225)com.mongodb.connection.UsageTrackingInternalConnection.receiveMessage(UsageTrackingInternalConnection.java:102)at com.mongodb.connection.DefaultConnectionPool $ pooledConnection.receiveMessage(DefaultConnectionPool.java:435)at com.mongodb.connection.CommandProtocol com.mongodb.connection.DefaultServer $ DefaultServerProtocolExecutor.execute(DefaultServer.java:159)位于com.mongodb的com.mongodb.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:286)上的.execute(CommandProtocol.java:112) . com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:215)中的com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:186)中的connection.DefaultServerConnection.command(DefaultServerConnection.java:173)atCom.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:178)at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:91)at com.mongodb.operation.CommandOperationHelper.executeWrappedCommandProtocol(CommandOperationHelper.java:84) com.mongodb.operation.CommandReadOperation.execute(CommandReadOperation.java:55)at com.mongodb.Mongo.execute(Mongo.java:772)at com.mongodb.Mongo $ 2.execute(Mongo.java:759)at com .mongodb.DB.executeCommand(DB.java:653)位于com.mongodb.DB.com上的com.mongodb.DB.command(DB.java:423),com.mongodb.DB上的com.mongodb.DB.command(DB.java:439) . 命令(DB.java:381)at com.jaspersoft.mongodb.connection.MongoDbConnection.test(MongoDbConnection.java:188)... 22 moreCaused by:java.net.SocketException:java.net.SocketInputStream.read中的连接重置(socketInputStream.java:210)at java.net.SocketInputStream.read(SocketInputStream.java:141)at com.mongodb.connection.SocketStream.read(SocketStre) am.java:85)com.mongodb.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:491)at com.mongodb.connection.InternalStreamConnection.receiveMessage(InternalStreamConnection.java:221)... 41更多