hi All...
Within my daoImpl class, I'm trying to run a sql query but it seems like I'm not getting a valid session. I tried using a callBack and without but the same error pops up. below is my code and the stack. my dao extends org.springframework.orm.hibernate3.support.HibernateDaoSupport.
thanks in adv...jim
Code:
public java.util.Set findVolunteers(final int transform, final java.lang.String queryString, int pageNumber, int pageSize, final java.lang.String firstName, final java.lang.String lastName, final java.lang.String phoneNumber, final java.lang.String status, final java.lang.Boolean requiresFollowUp)
{
org.springframework.orm.hibernate3.HibernateCallback callback = new org.springframework.orm.hibernate3.HibernateCallback()
{
final java.util.Set volunteers = new java.util.HashSet();
java.sql.PreparedStatement stmt = null;
java.sql.ResultSet rs = null;
org.dcri.recruit.VolunteerSearchObject searchObject = null;
public Object doInHibernate(org.hibernate.Session session)
throws org.hibernate.HibernateException
{
try {
// Get the connection from hibernate
Connection conn = session.connection();
StringBuffer buffer = new StringBuffer(queryString);
stmt = conn.prepareStatement(buffer.toString());
rs = stmt.executeQuery();
while (rs.next()) {
searchObject = new org.dcri.recruit.VolunteerSearchObject();
searchObject.setFirstName(rs.getString(1));
searchObject.setLastName(rs.getString(2));
searchObject.setPrimaryEmail(rs.getString(3));
searchObject.setVolunteerStatus(rs.getString(4));
searchObject.setId(rs.getString(5));
searchObject.setNeedFollowUp(Utils.getBooleanValue(rs.getDouble(6)));
searchObject.setMobilePhone(rs.getString(7));
volunteers.add(searchObject);
}
}
catch (Exception e) {
e.printStackTrace();
throw new java.lang.RuntimeException("Could not execute Volunteer search", e);
}
finally {
try {
rs.close();
session.close();
}
catch (Exception e) {
e.printStackTrace();
}
try {
stmt.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
return volunteers;
}
};
return (java.util.Set)this.getHibernateTemplate().execute(callback);
}
and the stack...
Code:
09:35:03,969 INFO [TxConnectionManager] throwable from unregister connection
java.lang.IllegalStateException: Trying to return an unknown connection2! org.jboss.resource.adapter.jdbc.WrappedConnect
ion@17533df
at org.jboss.resource.connectionmanager.CachedConnectionManager.unregisterConnection(CachedConnectionManager.jav
a:342)
at org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener.connectionClosed(TxConnect
ionManager.java:606)
at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.closeHandle(BaseWrapperManagedConnection.java:26
6)
at org.jboss.resource.adapter.jdbc.WrappedConnection.close(WrappedConnection.java:129)
at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.closeConnection(LocalDataSourceConnectio
nProvider.java:95)
at org.hibernate.jdbc.ConnectionManager.closeConnection(ConnectionManager.java:449)
at org.hibernate.jdbc.ConnectionManager.cleanup(ConnectionManager.java:383)
at org.hibernate.jdbc.ConnectionManager.close(ConnectionManager.java:322)
at org.hibernate.impl.SessionImpl.close(SessionImpl.java:298)
at org.springframework.orm.hibernate3.SessionFactoryUtils.closeSession(SessionFactoryUtils.java:774)
at org.springframework.orm.hibernate3.SessionFactoryUtils.closeSessionOrRegisterDeferredClose(SessionFactoryUtil
s.java:760)
at org.springframework.orm.hibernate3.SpringSessionSynchronization.beforeCompletion(SpringSessionSynchronization
.java:162)
at org.springframework.transaction.jta.SpringJtaSynchronizationAdapter.beforeCompletion(SpringJtaSynchronization
Adapter.java:134)
at org.jboss.tm.TransactionImpl.doBeforeCompletion(TransactionImpl.java:1491)
at org.jboss.tm.TransactionImpl.beforePrepare(TransactionImpl.java:1110)
at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:324)
at org.jboss.ejb.plugins.TxInterceptorCMT.endTransaction(TxInterceptorCMT.java:501)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:361)
at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:136)
at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
at org.jboss.ejb.Container.invoke(Container.java:954)
at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:430)
at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:103)
at $Proxy76.findVolunteers(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.ejb.access.LocalSlsbInvokerInterceptor.invoke(LocalSlsbInvokerInterceptor.java:70)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:161)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:203)
at $Proxy114.findVolunteers(Unknown Source)
at org.dcri.recruit.web.action.VolunteerAction.searchVolunteers(VolunteerAction.java:374)
at org.dcri.recruit.web.action.VolunteerAction.execute(VolunteerAction.java:38)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java
:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
09:36:29,932 INFO [STDOUT]