• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

how to properly handle connections

 
Andy Hahn
Ranch Hand
Posts: 225
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, I have a utility class that has 2 methods - openConnection() and closeConnection(). These methods are used by a data access class that has 5 methods. Each of the 5 methods will open a connection and close a connection, and they run one after the other as part of an initialization routine for retrieving data.

My questions is: Should I reuse a connection by passing it's reference around to each of the 5 methods, or should I open and close a separate connection for each of the 5 methods?

Thanks!
 
Baiju Varugese
Ranch Hand
Posts: 74
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
it is better to pass the reference of the connection across methods, b'cos opening a connection is costly operations. but it all depends upon you need/requirement how you want the connection in different methods.
 
Anand Karia
Ranch Hand
Posts: 156
Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi Andy Hahn

This is totally depend upon your requirements. If your requirement is using different connection at a single time then you have to create multiple connection whereas if you can handle one connection in different operation then you can do the same.

As far as my project is concern I am using single connection in my entire project where as in certain area I am using more then one connection according to my need.
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15445
41
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It also depends on where your application gets its database connections from.

If it is running inside an application server, it most likely gets database connections from a connection pool managed by the application server (i.e., you're not opening connections yourself using DriverManager, but you're using a DataSource object provided by the appserver). In that case, you should release (close) each connection as soon as you're done with it, and not hold it for a longer time, otherwise you'll be harming the scalability of your application.

If it's a standalone application that directly opens database connections, it would be better to not close the connection immediately.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic