【发布时间】:2014-11-03 15:46:25
【问题描述】:
我将 Mongo 注入到春天。 一切正常。但是当我尝试使用太多线程来持久化数据时,我遇到了这样的错误:
nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: Too many threads are already waiting for a connection. Max number of threads (maxWaitQueueSize) of 50 has been exceeded.; nested exception is com.mongodb.MongoWaitQueueFullException: Too many threads are already waiting for a connection. Max number of threads (maxWaitQueueSize) of 50 has been exceeded.] with root cause
com.mongodb.MongoWaitQueueFullException: Too many threads are already waiting for a connection. Max number of threads (maxWaitQueueSize) of 50 has been exceeded.
at com.mongodb.PooledConnectionProvider.get(PooledConnectionProvider.java:70)
我在哪里可以增加这个设置?
我只有这个配置:
<bean id="mongo" class="org.springframework.data.mongodb.core.MongoFactoryBean">
<property name="host" value="X.X.X.X" />
<property name="port" value="27017"></property>
</bean>
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg name="mongo" ref="mongo" />
<constructor-arg name="databaseName" value="test" />
</bean>
还有我在 Spring 中的日志服务:
@Service
@Transactional
public class LogService {
@Autowired
MongoOperations mongoOperations;
public void saveTransactionLog(Log l) {
mongoOperations.save(l);
}
}
【问题讨论】: