1 Reply Latest reply on Oct 23, 2007 6:17 AM by amashtakov

    Again - CachedConnectionManager: closing connection form you

    amashtakov

      Hi All,

      I'm developing an application generated by seam-gen (Seam 1.2.1GA)
      on JBOSS 4.0.5GA. The user opens his profile for editing backed by
      conversation scoped bean within nested conversation and idles.
      After ~10 min he makes changes and submits the form, which in turn
      raises the exception. Here is commented trace:

      
      User opens profile form and click on "save"
      
      ....
      
      2007-10-23 11:32:57,392 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] after phase: RENDER_RESPONSE(6)
      2007-10-23 11:32:57,392 DEBUG [org.jboss.seam.core.Manager] Storing conversation state: 4
      2007-10-23 11:32:57,392 DEBUG [org.jboss.seam.contexts.Lifecycle] After render response, destroying contexts
      2007-10-23 11:32:57,392 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying business process context
      2007-10-23 11:32:57,392 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side conversation context
      2007-10-23 11:32:57,392 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing session context
      2007-10-23 11:32:57,392 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying event context
      2007-10-23 11:32:57,392 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End web request
      
      After 8 mins Seam starts cleaning(?) process
      
      2007-10-23 11:40:12,120 DEBUG [org.jboss.seam.contexts.Lifecycle] >>> Begin call
      2007-10-23 11:40:12,120 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying business process context
      2007-10-23 11:40:12,120 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying conversation context
      2007-10-23 11:40:12,120 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side conversation context
      2007-10-23 11:40:12,120 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing session context
      2007-10-23 11:40:12,120 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying event context
      2007-10-23 11:40:12,120 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End call
      2007-10-23 11:40:12,135 DEBUG [org.jboss.seam.contexts.Lifecycle] >>> Begin call
      2007-10-23 11:40:12,135 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying business process context
      2007-10-23 11:40:12,135 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying conversation context
      2007-10-23 11:40:12,135 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side conversation context
      2007-10-23 11:40:12,135 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing session context
      2007-10-23 11:40:12,135 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying event context
      2007-10-23 11:40:12,135 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End call
      
      
      User makes changes and submits the form
      
      
      2007-10-23 11:42:04,919 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] before phase: RESTORE_VIEW(1)
      2007-10-23 11:42:04,919 DEBUG [org.jboss.seam.contexts.Lifecycle] >>> Begin web request
      2007-10-23 11:42:04,934 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] after phase: RESTORE_VIEW(1)
      2007-10-23 11:42:04,934 DEBUG [org.jboss.seam.core.Manager] Restoring conversation with id: 4
      2007-10-23 11:42:04,934 DEBUG [org.jboss.seam.jsf.AbstractSeamPhaseListener] After restoring conversation context: ConversationContext(4)
      2007-10-23 11:42:04,934 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] before phase: APPLY_REQUEST_VALUES(2)
      2007-10-23 11:42:04,950 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] after phase: APPLY_REQUEST_VALUES(2)
      2007-10-23 11:42:04,950 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] before phase: PROCESS_VALIDATIONS(3)
      2007-10-23 11:42:04,997 DEBUG [model.AccountManager] _ctor
      2007-10-23 11:42:05,075 INFO [STDOUT] Hibernate: select account0_.id_account as id1_265_, account0_.comments_account as comments2_265_, account0_.email_account as email3_265_, account0_.firstname_account as firstname4_265_, account0_.lastname_account as lastname5_265_, account0_.login_account as login6_265_, account0_.password_account as password7_265_ from .account account0_ where email_account=?
      2007-10-23 11:42:05,465 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] after phase: PROCESS_VALIDATIONS(3)
      2007-10-23 11:42:05,465 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] before phase: UPDATE_MODEL_VALUES(4)
      2007-10-23 11:42:05,497 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] after phase: UPDATE_MODEL_VALUES(4)
      2007-10-23 11:42:05,497 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] before phase: INVOKE_APPLICATION(5)
      2007-10-23 11:42:05,497 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] after phase: INVOKE_APPLICATION(5)
      2007-10-23 11:42:05,497 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] before phase: RENDER_RESPONSE(6)
      2007-10-23 11:42:05,544 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] after phase: RENDER_RESPONSE(6)
      2007-10-23 11:42:05,544 DEBUG [org.jboss.seam.core.Manager] Storing conversation state: 4
      2007-10-23 11:42:05,544 DEBUG [org.jboss.seam.contexts.Lifecycle] After render response, destroying contexts
      2007-10-23 11:42:05,544 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying business process context
      2007-10-23 11:42:05,544 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing server-side conversation context
      2007-10-23 11:42:05,544 DEBUG [org.jboss.seam.contexts.Lifecycle] flushing session context
      2007-10-23 11:42:05,544 DEBUG [org.jboss.seam.contexts.Lifecycle] destroying event context
      2007-10-23 11:42:05,544 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End web request
      2007-10-23 11:42:05,590 INFO [org.jboss.resource.connectionmanager.CachedConnectionManager] Closing a connection for you. Please close them yourself: org.jboss.resource.adapter.jdbc.WrappedConnection@19d019d0
      java.lang.Throwable: STACKTRACE
       at org.jboss.resource.connectionmanager.CachedConnectionManager.registerConnection(CachedConnectionManager.java:290)
       at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:417)
       at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:842)
       at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:88)
       at org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider.getConnection(InjectedDataSourceConnectionProvider.java:47)
       at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:417)
       at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
       at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
       at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1560)
       at org.hibernate.loader.Loader.doQuery(Loader.java:661)
       at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
       at org.hibernate.loader.Loader.doList(Loader.java:2144)
       at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2028)
       at org.hibernate.loader.Loader.list(Loader.java:2023)
       at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:393)
       at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
       at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
       at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
       at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
       at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:80)
      
       ...
      


      Clicking on "save" invokes model.AccountManager SFSB with changes in Account entity (which is a member of backing bean)

      I tried to experiment with hibernate.connection.release_mode parameter
      in persistence.xml, but this doesn't help.
      BTW, http://wiki.jboss.org/wiki/Wiki.jsp?page=WhatDoesTheMessageDoYourOwnHousekeepingMean suggests to turn "debug" attribute off for org.jboss.resource.connectionmanager.CachedConnectionManager
      mbean, but this will just "hide" symptoms and will not solve the problem.

      Does anyone experienced the same problem and have any workaround on that ?

      Thank you in advance,
      /Alexander