wood burning stoves 2.0*
The moose likes OO, Patterns, UML and Refactoring and the fly likes Connection managment Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "Connection managment" Watch "Connection managment" New topic
Author

Connection managment

John Burton
Greenhorn

Joined: Mar 26, 2012
Posts: 5
I am working on an application where the main concern is speed. They are using jsf and the existing controllers are filled with multiple database calls with a connection that is being passed from call to call. It's very quick, but a complete mess with many of the same calls rewritten on every page.

I have introduced a dao layer for better maintainability and reuse, but it's just not as fast. The problem is that my connections are on a method level and creating a db2 connection is expensive. I need to create a connection and use it for all the daos in a page view. What is the best way to do that?

I was thinking of creating a DAOManager and in it's constructor having it create a connection and use the DAOMannager to get each dao and pass it the connection the constructor such as





I have not seen this documented anywhere so I am wondering if there is a better way to do it? We are not using any sort of persistence framework, just straight jdbc calls.

Thanks for your help!
Murali Ranga
Ranch Hand

Joined: Dec 16, 2011
Posts: 38
Passing connection objects to constructor you will be losing extendibility of the code

My suggestion
Create a BaseDAO which has setConnection and getConnection methods
And also closeConnection
Each DAO extending the BaseDAO
1.create connection object
2. setting the connection objects to DAO
PersonDAO personDAO = new PersonDAO()
personDAO. setConnection(connection)
personDAO.callyourMethod
your DAO Method(){
// will call getConnection to get connection object
getConnection().
}
…..

..
closeConnection
This way tomorrow if you don’t want to pass connection objects to methods then no need for changing the method signature
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Connection managment
 
Similar Threads
DAO pattern with link tables - looking for canonical way forward
looking for suggestions on better DAO design
MVC/DAO - How are they connected?
Connection managment
Understanding DI