Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 9196925
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 17, 20262026-06-17T21:57:28+00:00 2026-06-17T21:57:28+00:00

As I understand you only need one instance of MongoClient per applications so I’ve

  • 0

As I understand you only need one instance of MongoClient per applications so I’ve extended HttpServlet with this method for convenience:

DB getDB(String dbName) throws Exception {
    MongoClient m = (MongoClient)getServletContext().getAttribute("mongo");
    if(m == null) {
        m = new MongoClient();
        getServletContext().setAttribute("mongo",m);
    }
    return m.getDB(dbName);
}

When I run this code it works just fine and I connect and do what work I need to, but it seems to continually open new connections to mongodb everytime I run this particular Servlet:

Sat Jan 26 21:31:42 [initandlisten] connection accepted from 127.0.0.1:46860 #1 (1 connection now open)
Sat Jan 26 21:31:53 [initandlisten] connection accepted from 127.0.0.1:46861 #2 (2 connections now open)
Sat Jan 26 21:32:00 [initandlisten] connection accepted from 127.0.0.1:46863 #3 (3 connections now open)

In the page I am doing this:

DB db = getDB("foo");
col = db.getCollection("bar");

and then running a simple query. Can anyone explain why I’m getting so many new connections? Also I’ve seen this Mongo.Holder class. Is this the preferred way to do what I am doing?

Thanks!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-17T21:57:29+00:00Added an answer on June 17, 2026 at 9:57 pm

    MongoDB Java driver implements a connection pool, and by default maintains 10 connections. The pool is managed internally by the driver. You should not see more than 10 connections going out to Mongo server from your servlet container. If you wish to change these default settings, check out MongoOptions.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Why only one overload throws this exception? Little update: I understand that there was
I understand that only one instance of any object according to .equals() is allowed
I essentially only understand how to read bits of JavaScript and make modifications. I
I understand that TempData is designed to work only between a single page request.
For reasons that only the developers can understand, Firefox will create and open .url
Do I understand correctly that CCLabelBMFont only loads the font texture once, no matter
I am trying to understand whether States in Ember.js are only designed/assumed to be
As I understand Working with a DataContext in Parallel is not thread-safe but only
As I understand, width/padding/margin properties only work on block level elements. However, on INPUT
As I understand, in Objective-C you can only put Objects into dictionaries. So if

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.