-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: Hibernate's closing Tomcat-supplied connections!
PostPosted: Fri Aug 04, 2006 12:54 pm 
Regular
Regular

Joined: Wed Feb 15, 2006 9:09 pm
Posts: 76
Need help with Hibernate? Read this first:
http://www.hibernate.org/ForumMailingli ... AskForHelp

Hibernate version: 3.1.3

Full stack trace of any exception that occurs:

Code:
INFO: Error performing load command
org.hibernate.exception.GenericJDBCException: could not load an entity: [org.blah.system.db.MenuItem#1050]
   at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
   at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
   at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
   at org.hibernate.loader.Loader.loadEntity(Loader.java:1799)
   at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:47)
   at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:41)
   at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:2730)
   at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:365)
   at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:346)
   at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:123)
   at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:177)
   at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:87)
   at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:862)
   at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:830)
   at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:266)
   at org.hibernate.type.EntityType.resolve(EntityType.java:303)
   at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:116)
   at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
   at org.hibernate.loader.Loader.doQuery(Loader.java:717)
   at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
   at org.hibernate.loader.Loader.doList(Loader.java:2145)
   at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
   at org.hibernate.loader.Loader.list(Loader.java:2024)
   at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
   at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)
   at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)
   at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)
   at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
   at org.blah.cache.ActivePath$Handler.list(ActivePath.java:84)
   at org.blah.cache.ActivePath$Handler.load(ActivePath.java:97)
   at org.blah.cache.ActivePath$Handler.load(ActivePath.java:1)
   at ca.indosoft.cache.CacheMap.get(CacheMap.java:80)
   at org.blah.cache.ActivePath.get(ActivePath.java:149)
   at org.blah.system.bean.MenuBean.getMenu(MenuBean.java:34)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:314)
   at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
   at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
   at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
   at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:932)
   at org.apache.jsp.tiles.menu_jsp._jspx_meth_menu_menu_0(menu_jsp.java:305)
   at org.apache.jsp.tiles.menu_jsp._jspService(menu_jsp.java:127)
   at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
   at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
   at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
   at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
   at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
   at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
   at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966)
   at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:614)
   at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:99)
   at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:135)
   at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:760)
   at org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:892)
   at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462)
   at org.apache.jsp.tiles.layout_jsp._jspx_meth_tiles_insert_1(layout_jsp.java:522)
   at org.apache.jsp.tiles.layout_jsp._jspService(layout_jsp.java:168)
   at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
   at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
   at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
   at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
   at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
   at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
   at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
   at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1085)
   at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
   at org.blah.common.BlahRequestProcessor.processTilesDefinition(BlahRequestProcessor.java:245)
   at org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:302)
   at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:241)
   at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
   at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
   at org.blah.util.BlahFilter.doFilter(BlahFilter.java:55)
   at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
   at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
   at ca.indosoft.util.HibernateFilter.doFilter(HibernateFilter.java:44)
   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.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
   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.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
   at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
   at java.lang.Thread.run(Unknown Source)
Caused by: java.sql.SQLException: Connection is closed.
   at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.checkOpen(PoolingDataSource.java:174)
   at org.apache.tomcat.dbcp.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:277)
   at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:442)
   at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:368)
   at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:105)
   at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561)
   at org.hibernate.loader.Loader.doQuery(Loader.java:661)
   at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
   at org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
   ... 102 more


Name and version of the database you are using:

Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production

Problem:

Tomcat (via dbcp or whatever) is supplying the connections, but hibernate's closing them in 'org.hibernate.connection.DatasourceConnectionProvider.closeConnection( java.sql.Connection )':

Code:
Thread [http-8080-Processor25] (Suspended (breakpoint at line 74 in DatasourceConnectionProvider))   
   DatasourceConnectionProvider.closeConnection(Connection) line: 74   
   ConnectionManager.closeConnection() line: 445   
   ConnectionManager.aggressiveRelease() line: 400   
   ConnectionManager.afterStatement() line: 275   
   BatchingBatcher(AbstractBatcher).closePreparedStatement(PreparedStatement) line: 480   
   BatchingBatcher(AbstractBatcher).closeStatement(PreparedStatement) line: 218   
   BatchingBatcher(AbstractBatcher).closeQueryStatement(PreparedStatement) line: 234   
   BatchingBatcher(AbstractBatcher).closeQueryStatement(PreparedStatement, ResultSet) line: 162   
   QueryLoader(Loader).doQuery(SessionImplementor, QueryParameters, boolean) line: 714   
   QueryLoader(Loader).doQueryAndInitializeNonLazyCollections(SessionImplementor, QueryParameters, boolean) line: 224   
   QueryLoader(Loader).doList(SessionImplementor, QueryParameters) line: 2145   
   QueryLoader(Loader).listIgnoreQueryCache(SessionImplementor, QueryParameters) line: 2029   
   QueryLoader(Loader).list(SessionImplementor, QueryParameters, Set, Type[]) line: 2024   
   QueryLoader.list(SessionImplementor, QueryParameters) line: 375   
   QueryTranslatorImpl.list(SessionImplementor, QueryParameters) line: 308   
   HQLQueryPlan.performList(QueryParameters, SessionImplementor) line: 153   
   SessionImpl.list(String, QueryParameters) line: 1106   
   QueryImpl.list() line: 79   
   QueryImpl(AbstractQueryImpl).uniqueResult() line: 749   
   HibernateUtil.get(Class<T>, String, String) line: 320   
   User.get(String) line: 42   
   LoginAction.execute(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) line: 55   
   BlahRequestProcessor(RequestProcessor).processActionPerform(HttpServletRequest, HttpServletResponse, Action, ActionForm, ActionMapping) line: 431   
   BlahRequestProcessor.processActionPerform(HttpServletRequest, HttpServletResponse, Action, ActionForm, ActionMapping) line: 50   
   BlahRequestProcessor(RequestProcessor).process(HttpServletRequest, HttpServletResponse) line: 236   
   ActionServlet.process(HttpServletRequest, HttpServletResponse) line: 1196   
   ActionServlet.doPost(HttpServletRequest, HttpServletResponse) line: 432   
   ActionServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse) line: 709   
   ActionServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 802   
   ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 252   
   ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 173   
   BlahFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 55   
   ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 202   
   ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 173   
   HibernateFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 44   
   ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 202   
   ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 173   
   StandardWrapperValve.invoke(Request, Response) line: 213   
   StandardContextValve.invoke(Request, Response) line: 178   
   StandardHostValve.invoke(Request, Response) line: 126   
   ErrorReportValve.invoke(Request, Response) line: 105   
   StandardEngineValve.invoke(Request, Response) line: 107   
   CoyoteAdapter.service(Request, Response) line: 148   
   Http11Processor.process(InputStream, OutputStream) line: 869   
   Http11Protocol$JmxHttp11ConnectionHandler(Http11BaseProtocol$Http11ConnectionHandler).processConnection(TcpConnection, Object[]) line: 664   
   PoolTcpEndpoint.processSocket(Socket, TcpConnection, Object[]) line: 527   
   LeaderFollowerWorkerThread.runIt(Object[]) line: 80   
   ThreadPool$ControlRunnable.run() line: 684   
   ThreadWithAttributes(Thread).run() line: 595


Here's my hibernate.properties:

Code:
hibernate.connection.datasource=java:/comp/env/jdbc/oracle/blah
hibernate.dialect=org.hibernate.dialect.Oracle9Dialect
hibernate.show_sql=true
hibernate.max_fetch_depth=0
hibernate.cglib.use_reflection_optimizer=false


And my context.xml (probably not helpful, but oh well):

Code:
<Context cookies="true" path="/blah" docBase="blah" debug="5"
   reloadable="true" crossContext="true">
   <Resource name="jdbc/oracle/blah"
      auth="Container"
      type="javax.sql.DataSource"
      driverClassName="oracle.jdbc.OracleDriver"
      url="jdbc:oracle:thin:@blah:1521:BLAH"
      username="blah"
      password="blah"
      maxActive="5"
      maxIdle="3"
      maxWait="-1" />
</Context>


Any ideas? (obviously, client and project names have been changed to protect the innocent--I'm not working for Blah on a project called 'blah' :).

Update: It looks like the provided connection is actually a 'PoolingConnectionSomething....', so it might not close it (I can't find the sources for the naming-factory-dbcp.jar that comes with Tomcat 5.5.17 so I can't step through it!!) but nonetheless I intermittently get the "Connection closed" problem....?


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.