整个tomcat JVM中的单个MongoClient实例(Singleton)

时间:2014-10-02 18:36:40

标签: java mongodb tomcat singleton

我正在尝试在整个tomcat JVM环境中创建一个MongoClient实例。多个webapps将使用相同的实例(对于同一个数据库),我想设置它,以便每个webapp将使用相同的实例。我想让它成为整个JVM中的单个实例而不是每个webapp的原因是因为多个webapps将使用它。

一次会有4台tomcat机器启动并运行,所以我的想法是每台机器应该有一个MongoClient实例。我主要担心的是线程/连接创建的开销。

将有2个webapps将使用它,在这些webapps中,3个不同的类(2合1和1在另一个中)将需要访问该实例。

我已经看过这个Stack Overflow post,只需要帮助实施。

就我而言,每个类

的代码都需要这样

Kerne>活动类:

MongoDBManager mdb = new MongoDBManager();

内核>会话班:

MongoDBManager mdb = new MongoDBManager();

SiteManager> SiteAction类:

SiteDeletionManager sdm = new SiteDeletionManager();

MongoDBManager类是处理所有连接的类,SiteDeletionManager只是在其构造函数中创建它的新实例。为了简化它,我可以创建另一个类来处理内核中的事件/会话,并将MongoDBManager作为一个类来处理连接。

这样做最好的方法是什么?有人有任何好的文件吗?

0 个答案:

没有答案