当前位置: 首页 > 面试题库 >

MongoSocketReadException:过早到达流的末端(一段时间不活动之后)

庄飞
2023-03-14
问题内容

find一段时间不活动后,在调用(默认Java驱动程序)时收到此错误。我尝试添加手动心跳(写到有上限的收藏集),但没有帮助。我只有在撰写时连接到实例时才收到问题(即不在本地上下文中)。

MongoDB版本为3.2.8,最新驱动程序(3.3),使用Java 8。

任何想法 ?


问题答案:

我同意Rhangaun的回答,这是我在JAVA代码中的解决方案:

    public static DB getMongoDB() {

        MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
        //build the connection options  
        builder.maxConnectionIdleTime(60000);//set the max wait time in (ms)
        MongoClientOptions opts = builder.build();


        char[] password2 = "mypassword".toCharArray();

        MongoCredential credential2 = MongoCredential.createCredential("username", "databasename",password2);


        //add your option to the connection

        MongoClient mongoClient = new MongoClient(new ServerAddress("server ip",27017), Arrays.asList(credential2),opts);
        //use your database 
        cachedDb = mongoClient.getDB("databasename");

    return cachedDb;

}

这是我的研究链接:http: //3t.io/blog/how-to-prevent-your-connection-from-dropping-
with-hosted-mongodb-instances/

希望对您有帮助。



 类似资料:
  • 在一段时间的不活动之后,我在一个调用(默认Java驱动程序)中遇到了这个错误。我试图添加一个手动心跳(写入一个封顶的集合),但没有帮助。我只在连接到compose上的实例时才遇到问题(即,不在本地上下文中)。 MongoDB版本是3.2.8,最新的驱动程序(3.3),使用Java8。 知道吗?

  • 在我的应用程序中,我使用MongoDB,它在本地与Wildfly 11.0.0一起工作得很好。Alpha1-部署在本地应用程序服务器和本地MongoDB数据库后,应用程序可以在上下文路径和端口上访问-一切都很好。 我的下一步是将这个应用程序部署到服务器maschine上的JBoss服务器上。我将MongoDB URI更改为MongoDB服务器: 如果我部署这个应用程序,我会在底部得到以下日志条目。

  • 当我试图连接到MongoDB Atlas免费层时,我得到了一个过早到达流结束的错误。使用Java1.8和Mongo驱动程序3.8.0。这和Atlas中的集群设置有什么关系吗?我在MongoDB本地主机上使用了相同的程序。 错误:

  • 我有一个简单的数据结构(下面引用的)要插入到MongoDB中: 我得到以下错误堆栈: 我的mongodb版本是。 更新2 该系统可用于其他写入(即使是大得多的记录)

  • 问题内容: 我正在尝试自动执行水平栏的滚动,其中水平栏的元素是动态的,并且可以从API中获取。 有没有一种方法可以在appium中使其自动化? 问题答案: 如果页面底部有任何元素或文本,则可以使用UiAutomator2。 如果您使用的是appium,请添加所需的功能’UiAutomator2’。 现在,如果您有元素的ID,请使用以下函数 如果您有元素的文本,请使用它。 如果您不知道botton中