我正在使用mongo-java2.4jar与mongo服务器进行通信。
在我的webapp中,我使用的是mongo=new Mongo("serverIp","port")
,只要处理完成,我就会使用mongo.close()
关闭mongo连接。
但过了一段时间后我才得到以下异常:
java.net.SocketException:打开的文件太多
我认为当我关闭连接时,它不会关闭套接字。 请帮我解决这个问题。
谢谢!
答案 0 :(得分:3)
Mongo类透明地执行连接池,每个JVM进程通常只有一个实例。请查看http://api.mongodb.org/java/2.5-pre-/com/mongodb/Mongo.html
如果您大量创建此类的实例,我认为在发布之前您将获得太多连接。只需在应用程序启动时为整个应用程序创建一个单例,并将其放在应用程序上下文中。只有在您的应用停止时才会致电。
干杯,
斯文