java - Spring Data MongoDB com.mongodb.MongoWaitQueueFullException -
i'm trying insert info mongodb in multiple threads using spring info mongodb framework. unfortunately next error:
caused by: com.mongodb.mongowaitqueuefullexception: many threads waiting connection. max number of threads (maxwaitqueuesize) of 50 has been exceeded. @ com.mongodb.pooledconnectionprovider.get(pooledconnectionprovider.java:70) @ com.mongodb.defaultserver.getconnection(defaultserver.java:60) @ com.mongodb.basecluster$wrappedserver.getconnection(basecluster.java:216) @ com.mongodb.dbtcpconnector$myport.getconnection(dbtcpconnector.java:503) @ com.mongodb.dbtcpconnector$myport.get(dbtcpconnector.java:451) @ com.mongodb.dbtcpconnector.innercall(dbtcpconnector.java:286) @ com.mongodb.dbtcpconnector.call(dbtcpconnector.java:271) @ com.mongodb.dbcollectionimpl.find(dbcollectionimpl.java:84) @ com.mongodb.dbcollectionimpl.find(dbcollectionimpl.java:66) @ com.mongodb.dbcursor._check(dbcursor.java:458) @ com.mongodb.dbcursor._hasnext(dbcursor.java:546) @ com.mongodb.dbcursor.hasnext(dbcursor.java:571) @ org.springframework.data.mongodb.core.mongotemplate.executefindmultiinternal(mongotemplate.java:1782) ... 22 more
i'm using next configuration spring:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mongo="http://www.springframework.org/schema/data/mongo" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo.xsd"> <context:annotation-config/> <context:property-placeholder location="classpath:database.properties"/> <mongo:mongo host="${mongo.db.host}" port="${mongo.db.port}"/> <mongo:db-factory id="mongodbfactory" dbname="${mongo.db.name}"/> <mongo:repositories base-package="com.test.app.mongodb.dao"/> <mongo:template db-factory-ref="mongodbfactory" converter-ref="mappingconverter" write-concern="acknowledged"/> <mongo:mapping-converter id="mappingconverter" db-factory-ref="mongodbfactory" type-mapper-ref="defaultmongotypemapper" mapping-context-ref="mappingcontext"/> <bean id="defaultmongotypemapper" class="org.springframework.data.mongodb.core.convert.defaultmongotypemapper"> <constructor-arg name="typekey"> <null/> </constructor-arg> </bean> <bean id="mappingcontext" class="org.springframework.data.mongodb.core.mapping.mongomappingcontext"/>
as understood documentation there few properties responsible allowed connections number (default combination of them allow 50 connections per node). configured spring: connections-per-host , threads-allowed-to-block-for-connection-multiplier. tried utilize first 1 shown below:
<mongo:mongo host="${mongo.db.host}" port="${mongo.db.port}"> <mongo:options connections-per-host="100"/> </mongo:mongo>
but result same. still exception 50 allowed connections.
i grateful if explain did wrong. has encountered problem?
java multithreading spring-data-mongodb
No comments:
Post a Comment