Does Java provide automatic connection pooling like C#?Ask Questions

 Posted on 10/08/2019

In C# when we open a connection by default it gives from the pool if available.

In Java we have to use external libraries for connection pooling. Is there no automatic connection pooling in Java unlike C#?


Share On: facebook gplus twitter
Asked by Will Smith on 10/08/2019 Score: 54 points
Add Comment:


1 Answers

0 Corrected Answers
Aproved Answers
Answered by Walter Tross on 10/8/2019 1:32:55 PM Score: 24 points

Thankfully not. C# connection pools are among the worst code ever written. Is it a connection? Is it a connection pool? What happens when you dispose of a connection? You really don't know. We've had numerous issues in our persistence layer because we closed connections when we should have left them open, and left them open when we should have closed them.

Java makes this explicit with the DataSource interface. A DataSource is a source of connections that may be pooled or not. When you have an application that needs to access a database, make sure that you configure a DataSource somewhere, and then inject that into the classes that access the database. A database operation consists of getting a connection from the data source, running queries on it and then ALWAYS disposing the connection once you're done. You can easily do this with the try-with-resources syntax. When the connection is disposed, the data source is free to either close the underlying connection, or return it to the pool for later use.


Add Comment:

Post Your Answers

Existing Members

Sign in to your account
Email Address
New Member?
Sign up and complete profile
Full Name
Email Address
I have read and agree to the Terms of Service and Privacy Policy
Please subscribe me to the StoodQ newsletters
Guideline to answer a question:

Useful tips to submit your answer
Please read below guidelines before you submit your answer for question.

  • Read and understand question for which you are submitting your answer.
  • Try to avoid grammatical and spell mistake while answering.
  • Do not post any irrelevant information in your answer.
  • Explain your answer with example or any reference link to help who posted question.
  • If you find irrelevant question, please report it to support. Click here to contact support.
  • You agree to the privacy policy and terms of use to submit any contents.

Note: StoodQ is online developers community which helps developer for their difficulty, lets help them with your value contribution.