pkslow.com 南瓜慢说

  • AllArticles
  • Container
  • Spring
  • Life
  • Cloud
  • Collections
  • About
  • GitHub

  • Search
App Terraform101 English Terraform Middleware config Go Private Kubernetes pkslow Test HTTPS Redis Docker Mac Plan Stream MongoDB Spring DevOps JVM String Map Set List Performance Email Springboot JavaCollections ArrayList Java

MongoDB开发中遇到的问题记录

Created on: 2020-07-01 | Category: Others | 0 | View: 3404

com.mongodb.mongowaitqueuefullexception too many threads are already waiting for a connection

报错信息

com.mongodb.MongoWaitQueueFullException: 
Too many threads are already waiting for a connection. Max number of threads (maxWaitQueueSize) of 500 has been exceeded.

原因

本地启动了太多进程,都在请求连接,超过了最大等待连接数,所以需要增加。

在使用异步程序时,要特别注意线程数问题。

方案1

修改连接URI:&waitQueueMultiple=1000&

参考资料:

https://docs.mongodb.com/manual/reference/connection-string/

方案2

MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
builder.connectionsPerHost(1000);
MongoClientOptions options = builder.build();
mongoClient = new MongoClient(URI, connectionOptions);

参考资料:

https://stackoverflow.com/questions/25346951/how-can-i-solve-mongowaitqueuefullexception

MongoDB: java.lang.IllegalStateException: state should be: open

原因

因为MongoDB已经关闭了,但程序还在使用。本次问题出现是因为异步程序在使用连接MongoDB,但没有阻塞,直接到后面的连接池关闭。

参考资料:

https://stackoverflow.com/questions/40670865/mongodb-java-lang-illegalstateexception-state-should-be-open


Code for all: GitHub

欢迎关注微信公众号<南瓜慢说>,将持续为你更新...

file

Recommendations:
Cloud Native
Terraform
Container: Docker/Kubernetes
Spring Boot / Spring Cloud
Https
如何制定切实可行的计划并好好执行

  • Author 作者: LarryDpk 南瓜慢说
  • Link 链接: https://www.pkslow.com/archives/mongodb-issues-in-development
  • 版权声明: 本博客所有文章除特别声明外,不可转载!
# App # Terraform101 # English # Terraform # Middleware # config # Go # Private # Kubernetes # pkslow # Test # HTTPS # Redis # Docker # Mac # Plan # Stream # MongoDB # Spring # DevOps # JVM # String # Map # Set # List # Performance # Email # Springboot # JavaCollections # ArrayList # Java
App Terraform101 English Terraform Middleware config Go Private Kubernetes pkslow Test HTTPS Redis Docker Mac Plan Stream MongoDB Spring DevOps JVM String Map Set List Performance Email Springboot JavaCollections ArrayList Java
Springboot整合https原来这么简单
打不死的小强,让Docker的容器自动重启
  • Contents
  • Site Overview
南瓜慢说

南瓜慢说

多年Java开发,主要专注后端技术:Java/Spring/Springboot/微服务/大数据等。

多读书,多分享;多写作,多整理。

243 Posts
9 Categories
31 Tags
RSS
0%
© 2020 — 2022 南瓜慢说 pkslow The WebSite keeping alive:   粤ICP备20036375号