我正在尝试在整个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作为一个类来处理连接。
这样做最好的方法是什么?有人有任何好的文件吗?