This week's book giveaways are in the Java EE and JavaScript forums.
We're giving away four copies each of The Java EE 7 Tutorial Volume 1 or Volume 2(winners choice) and jQuery UI in Action and have the authors on-line!
See this thread and this one for details.
The moose likes Struts and the fly likes where to close DBconnection in struts..urgent..please help Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "where to close DBconnection in struts..urgent..please help" Watch "where to close DBconnection in struts..urgent..please help" New topic
Author

where to close DBconnection in struts..urgent..please help

Sri chirat
Greenhorn

Joined: Aug 19, 2004
Posts: 3
I have DAO.java, DAOManager.java for database transactions in my application.
I am using STRuts1.1, eclipse,j2sdk1.4.2, MySql, Tomcat 5.0
where do I close the database connection ..
Is it in DAO class...inside the methods for the transactions.
1.if I do this...I am getting exception saying connection is closed in daomanager.
2.if I do this in DAOmanager class....not in DAO.java..then my application
hangs up after 3 or 4 transactions......

//DAO.java
public void addProgramEnroll(Familyclient familyclient) throws DatastoreException{
PreparedStatement pspprogramenrollinfo = null;
try {
if (conn.isClosed()) {
throw new IllegalStateException("error.unexpected");
}
pspprogramenrollinfo = conn.prepareStatement(SQL_INSERT_PROGRAM);
......
pspprogramenrollinfo.execute();
}
} catch (SQLException ex) {
ex.printStackTrace();
} catch (NumberFormatException nfe) {
nfe.printStackTrace();
} finally {
try {
if (pspprogramenrollinfo != null) {
pspprogramenrollinfo.close();
//conn.close();
}
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("error.unexpected");
}
}
}


//DAOmanager.java

public void addProgramEnroll(ServletContext sc, Familyclient familyclient)
throws DatastoreException {
Connection conn = getConnection(sc);
FamilyclientDao dao = new FamilyclientDao(conn);
try{
dao.addProgramEnroll(familyclient);
conn.commit();
}catch (Exception ex){
throw DatastoreException.datastoreError(ex);
}finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException sqle) {
log.error("Exception closing connection", sqle);
}
}
}
}
 
Consider Paul's rocket mass heater.
 
subject: where to close DBconnection in struts..urgent..please help