Hi,
Iam getting the following error .
Please suggest :

2010-02-19 14:20:19,234 WARN - SessionImpl.finalize(3396) | unclosed connection
com.mysql.jdbc.exceptions.MySQLNonTransientConnect ionException: No operations allowed after statement closed.
at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:888)
at com.mysql.jdbc.Statement.checkClosed(Statement.jav a:385)
at com.mysql.jdbc.PreparedStatement.executeInternal(P reparedStatement.java:1361)
at com.mysql.jdbc.PreparedStatement.executeQuery(Prep aredStatement.java:1467)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement .executeQuery(NewProxyPreparedStatement.java:76)
at org.ariose.dao.hibernate.ServiceLogDAOHibernate.ge tServiceData(ServiceLogDAOHibernate.java:37)
at org.ariose.service.impl.ServiceLogManagerImpl.getS erviceData(ServiceLogManagerImpl.java:25)
at org.ariose.web.ServiceLogController.getServiceData (ServiceLogController.java:32)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.servlet.mvc.multiaction.Mu ltiActionController.invokeNamedMethod(MultiActionC ontroller.java:472)
at org.springframework.web.servlet.mvc.multiaction.Mu ltiActionController.handleRequestInternal(MultiAct ionController.java:409)
at org.springframework.web.servlet.mvc.AbstractContro ller.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControll erHandlerAdapter.handle(SimpleControllerHandlerAda pter.java:48)
at org.springframework.web.servlet.DispatcherServlet. doDispatch(DispatcherServlet.java:874)
at org.springframework.web.servlet.DispatcherServlet. doService(DispatcherServlet.java:808)
at org.springframework.web.servlet.FrameworkServlet.p rocessRequest(FrameworkServlet.java:476)
at org.springframework.web.servlet.FrameworkServlet.d oPost(FrameworkServlet.java:441)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet .java:803)
at org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.do Filter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invo ke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invo ke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invok e(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.servic e(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(H ttp11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11Conn ectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run( JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)


Here's the code :
-----------------------
public List<ServiceLogBean> getServiceData(List<String> contents) {
List<ServiceLogBean> list=new ArrayList<ServiceLogBean>();
PreparedStatement statement=null;
ResultSet resultSet=null;
Connection connection=null;
try {
ServiceLogBean logBean=null;
connection=getHibernateTemplate().getSessionFactor y().openSession().connection();
for(String content:contents){
String query="select max(execute_time),count(execute_flag),(SELECT COUNT(1) FROM "+content+"_content ) as sCount" +
" from "+content+"_content where execute_flag=1; ";
System.out.println("Query:"+query);
statement=connection.prepareStatement(query);
resultSet=statement.executeQuery();
logBean=new ServiceLogBean();
while(resultSet.next()){
if(resultSet.getString(1)!=null)
logBean.setLastExecuteTime(resultSet.getString(1). substring(0,resultSet.getString(1).length()-2));
logBean.setRecordsSent(resultSet.getInt(2));
logBean.setTotalRecords(resultSet.getInt(3));
logBean.setRecordsInQueue(resultSet.getInt(3)-resultSet.getInt(2));
logBean.setServiceName(content);
}
list.add(logBean);
resultSet.close();
statement.close();
}
System.out.println(list);
} catch (Exception e) {
e.printStackTrace();
}
return list;
}

Please help...