mongo + java +太多打开的文件

时间:2011-02-18 15:40:35

标签: java mongodb mongo-java

我正在使用mongo-java2.4jar与mongo服务器进行通信。 在我的webapp中,我使用的是mongo=new Mongo("serverIp","port"),只要处理完成,我就会使用mongo.close()关闭mongo连接。

但过了一段时间后我才得到以下异常:

  

java.net.SocketException:打开的文件太多

我认为当我关闭连接时,它不会关闭套接字。 请帮我解决这个问题。

谢谢!

1 个答案:

答案 0 :(得分:3)

Mongo类透明地执行连接池,每个JVM进程通常只有一个实例。请查看http://api.mongodb.org/java/2.5-pre-/com/mongodb/Mongo.html

如果您大量创建此类的实例,我认为在发布之前您将获得太多连接。只需在应用程序启动时为整个应用程序创建一个单例,并将其放在应用程序上下文中。只有在您的应用停止时才会致电。

干杯,

斯文