Announcement Announcement Module
Collapse
No announcement yet.
Unclosed Hibernate Connection Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Unclosed Hibernate Connection

    i just isntalled acegi yesterday, and now i have been noticing Hibernate log entries that say "Unclosed Connection". Anybody else seen this before? As a result of this (I assume), HTTP request begin to stall (freezing) during a query for the user account (its a hibernate DAO query).

    I am using spring 1.1, hibernate 2.1.6, acegi 0.8.1.

    Here is a snipet from my log where it shows a WARN log message that there was an unclosed session.

    Code:
    [DEBUG][net.sf.acegisecurity.intercept.AbstractSecurityInterceptor] - Authenticated: net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken@f3d040: Username: com.ccg.domain.Account@3b5d6b[id=1,u....security.Group@1e668b2[id=1,name=Users,description=Intranet Application User,roles=[com.ccg.security.Role@1523624]]]]; Password: [PROTECTED]; Authenticated: true; Details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1aa38c7: RemoteIpAddress: 127.0.0.1; SessionId: 5E2D43C38FC1C20DC88CFE0C69121D19; Granted Authorities: ROLE_USER
    [DEBUG][net.sf.acegisecurity.intercept.AbstractSecurityInterceptor] - Authorization successful
    [DEBUG][net.sf.acegisecurity.intercept.AbstractSecurityInterceptor] - RunAsManager did not change Authentication object
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - opened session
    [DEBUG][net.sf.hibernate.transaction.JDBCTransaction] - begin
    [DEBUG][net.sf.hibernate.transaction.JDBCTransaction] - current autocommit status:true
    [DEBUG][net.sf.hibernate.transaction.JDBCTransaction] - disabling autocommit
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - flushing session
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Flushing entities and processing referenced collections
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Processing unreferenced collections
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Scheduling collection removes/(re)creates/updates
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Flushed: 0 insertions, 0 updates, 0 deletions to 0 objects
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Dont need to execute flush
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - about to open: 0 open PreparedStatements, 0 open ResultSets
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - select this.id as id0_, this.name as name0_, this.code as code0_, this.clientRoot as clientRoot0_, this.drive as drive0_, this.rootLinuxPath as rootLinu6_0_, this.rootWindowsPath as rootWind7_0_ from client this where 1=1
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - preparing statement
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - running Session.finalize()
    [WARN ][net.sf.hibernate.impl.SessionImpl] - finalizing unclosed session with closed connection
    [DEBUG][net.sf.hibernate.loader.Loader] - processing result set
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '1' as column: id0_
    [DEBUG][net.sf.hibernate.loader.Loader] - result row: 1
    [DEBUG][net.sf.hibernate.loader.Loader] - Initializing object from ResultSet: 1
    [DEBUG][net.sf.hibernate.loader.Loader] - Hydrating entity: com.ccg.domain.Client#1
    [DEBUG][net.sf.hibernate.type.NullableType] - returning 'Best Buy' as column: name0_
    [DEBUG][net.sf.hibernate.type.NullableType] - returning 'BTBY' as column: code0_
    [DEBUG][net.sf.hibernate.type.NullableType] - returning 'BTBY - Best Buy' as column: clientRoot0_
    [DEBUG][net.sf.hibernate.type.NullableType] - returning 'I:' as column: drive0_
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '/var/intranet_files' as column: rootLinu6_0_
    [DEBUG][net.sf.hibernate.type.NullableType] - returning 'INTRANET V6/CLIENTS' as column: rootWind7_0_
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '2' as column: id0_
    [DEBUG][net.sf.hibernate.loader.Loader] - result row: 2
    [DEBUG][net.sf.hibernate.loader.Loader] - Initializing object from ResultSet: 2
    [DEBUG][net.sf.hibernate.loader.Loader] - Hydrating entity: com.ccg.domain.Client#2
    Here is a snipet of where an unclose session message appears
    Code:
    [DEBUG][net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter] - Obtained from ACEGI_SECURITY_CONTEXT a valid Context and set to ContextHolder: 'net.sf.acegisecurity.context.security.SecureContextImpl@e335ef: Authentication: net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken@fa1477: Username: com.ccg.domain.Account@9530a5[id=1,u....security.Group@f28c1f[id=1,name=Users,description=Intranet Application User,roles=[com.ccg.security.Role@8629d1]]]]; Password: [PROTECTED]; Authenticated: true; Details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1aa38c7: RemoteIpAddress: 127.0.0.1; SessionId: 5E2D43C38FC1C20DC88CFE0C69121D19; Granted Authorities: ROLE_USER'
    [DEBUG][net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter] - ContextHolder not replaced with anonymous token, as ContextHolder already contained: 'net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken@fa1477: Username: com.ccg.domain.Account@9530a5[id=1,u....security.Group@f28c1f[id=1,name=Users,description=Intranet Application User,roles=[com.ccg.security.Role@8629d1]]]]; Password: [PROTECTED]; Authenticated: true; Details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1aa38c7: RemoteIpAddress: 127.0.0.1; SessionId: 5E2D43C38FC1C20DC88CFE0C69121D19; Granted Authorities: ROLE_USER'
    [DEBUG][net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap] - Converted URL to lowercase, from: '/list_zones_ez.html'; to: '/list_zones_ez.html'
    [DEBUG][net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap] - Candidate is: '/list_zones_ez.html'; pattern is /signon.html*; matched=false
    [DEBUG][net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap] - Candidate is: '/list_zones_ez.html'; pattern is /welcome.html; matched=false
    [DEBUG][net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap] - Candidate is: '/list_zones_ez.html'; pattern is /reference.html; matched=false
    [DEBUG][net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap] - Candidate is: '/list_zones_ez.html'; pattern is /styles/**; matched=false
    [DEBUG][net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap] - Candidate is: '/list_zones_ez.html'; pattern is /images/**; matched=false
    [DEBUG][net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap] - Candidate is: '/list_zones_ez.html'; pattern is /**; matched=true
    [DEBUG][net.sf.acegisecurity.intercept.AbstractSecurityInterceptor] - Secure object: FilterInvocation: URL: /list_zones_ez.html; ConfigAttributes: [ROLE_USER]
    [DEBUG][net.sf.acegisecurity.providers.ProviderManager] - Authentication attempt using net.sf.acegisecurity.providers.dao.DaoAuthenticationProvider
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - opened session
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - flushing session
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Flushing entities and processing referenced collections
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Processing unreferenced collections
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Scheduling collection removes/(re)creates/updates
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Flushed: 0 insertions, 0 updates, 0 deletions to 0 objects
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Dont need to execute flush
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - about to open: 0 open PreparedStatements, 0 open ResultSets
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - select this.id as id0_, this.username as username0_, this.password as password0_, this.accountNonLocked as accountN4_0_, this.enabled as enabled0_ from account this where this.username=?
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - preparing statement
    [DEBUG][net.sf.hibernate.type.NullableType] - binding 'jvargas' to parameter: 1
    [DEBUG][net.sf.hibernate.loader.Loader] - processing result set
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '1' as column: id0_
    [DEBUG][net.sf.hibernate.loader.Loader] - result row: 1
    [DEBUG][net.sf.hibernate.loader.Loader] - Initializing object from ResultSet: 1
    [DEBUG][net.sf.hibernate.loader.Loader] - Hydrating entity: com.ccg.domain.Account#1
    [DEBUG][net.sf.hibernate.type.NullableType] - returning 'jvargas' as column: username0_
    [DEBUG][net.sf.hibernate.type.NullableType] - returning 'jvargas' as column: password0_
    [DEBUG][net.sf.hibernate.type.NullableType] - returning 'true' as column: accountN4_0_
    [DEBUG][net.sf.hibernate.type.NullableType] - returning 'true' as column: enabled0_
    [DEBUG][net.sf.hibernate.loader.Loader] - done processing result set (1 rows)
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - done closing: 0 open PreparedStatements, 0 open ResultSets
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - closing statement
    [DEBUG][net.sf.hibernate.loader.Loader] - total objects hydrated: 1
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - resolving associations for [com.ccg.domain.Account#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - creating collection wrapper:[com.ccg.domain.Account.groups#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - done materializing entity [com.ccg.domain.Account#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - initializing non-lazy collections
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - initializing collection [com.ccg.domain.Account.groups#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - checking second-level cache
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - collection not cached
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - about to open: 0 open PreparedStatements, 0 open ResultSets
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - select groups0_.accountId as accountId__, groups0_.groupId as groupId__, group1_.id as id0_, group1_.description as descript2_0_, group1_.name as name0_ from account_securityGroup groups0_ inner join securityGroup group1_ on groups0_.groupId=group1_.id where groups0_.accountId=?
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - preparing statement
    [DEBUG][net.sf.hibernate.type.NullableType] - binding '1' to parameter: 1
    [DEBUG][net.sf.hibernate.loader.Loader] - result set contains (possibly empty) collection: [com.ccg.domain.Account.groups#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - uninitialized collection: initializing
    [DEBUG][net.sf.hibernate.loader.Loader] - processing result set
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '1' as column: id0_
    [DEBUG][net.sf.hibernate.loader.Loader] - result row: 1
    [DEBUG][net.sf.hibernate.loader.Loader] - Initializing object from ResultSet: 1
    [DEBUG][net.sf.hibernate.loader.Loader] - Hydrating entity: com.ccg.security.Group#1
    [DEBUG][net.sf.hibernate.type.NullableType] - returning 'Intranet Application User' as column: descript2_0_
    [DEBUG][net.sf.hibernate.type.NullableType] - returning 'Users' as column: name0_
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '1' as column: accountId__
    [DEBUG][net.sf.hibernate.loader.Loader] - found row of collection: [com.ccg.domain.Account.groups#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - reading row
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '1' as column: groupId__
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - loading [com.ccg.security.Group#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - attempting to resolve [com.ccg.security.Group#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - resolved object in session cache [com.ccg.security.Group#1]
    [DEBUG][net.sf.hibernate.loader.Loader] - done processing result set (1 rows)
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - done closing: 0 open PreparedStatements, 0 open ResultSets
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - closing statement
    [DEBUG][net.sf.hibernate.loader.Loader] - total objects hydrated: 1
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - resolving associations for [com.ccg.security.Group#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - creating collection wrapper:[com.ccg.security.Group.accounts#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - creating collection wrapper:[com.ccg.security.Group.roles#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - done materializing entity [com.ccg.security.Group#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - 1 collections were found in result set
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - collection fully initialized: [com.ccg.domain.Account.groups#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - 1 collections initialized
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - collection initialized
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - initializing collection [com.ccg.security.Group.roles#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - checking second-level cache
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - collection not cached
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - about to open: 0 open PreparedStatements, 0 open ResultSets
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - select roles0_.groupId as groupId__, roles0_.roleId as roleId__, role1_.id as id0_, role1_.description as descript2_0_, role1_.value as value0_ from securityGroup_securityRole roles0_ inner join securityRole role1_ on roles0_.roleId=role1_.id where roles0_.groupId=?
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - preparing statement
    [DEBUG][net.sf.hibernate.type.NullableType] - binding '1' to parameter: 1
    [DEBUG][net.sf.hibernate.loader.Loader] - result set contains (possibly empty) collection: [com.ccg.security.Group.roles#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - uninitialized collection: initializing
    [DEBUG][net.sf.hibernate.loader.Loader] - processing result set
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '1' as column: id0_
    [DEBUG][net.sf.hibernate.loader.Loader] - result row: 1
    [DEBUG][net.sf.hibernate.loader.Loader] - Initializing object from ResultSet: 1
    [DEBUG][net.sf.hibernate.loader.Loader] - Hydrating entity: com.ccg.security.Role#1
    [DEBUG][net.sf.hibernate.type.NullableType] - returning 'User' as column: descript2_0_
    [DEBUG][net.sf.hibernate.type.NullableType] - returning 'ROLE_USER' as column: value0_
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '1' as column: groupId__
    [DEBUG][net.sf.hibernate.loader.Loader] - found row of collection: [com.ccg.security.Group.roles#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - reading row
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '1' as column: roleId__
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - loading [com.ccg.security.Role#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - attempting to resolve [com.ccg.security.Role#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - resolved object in session cache [com.ccg.security.Role#1]
    [DEBUG][net.sf.hibernate.loader.Loader] - done processing result set (1 rows)
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - done closing: 0 open PreparedStatements, 0 open ResultSets
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - closing statement
    [DEBUG][net.sf.hibernate.loader.Loader] - total objects hydrated: 1
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - resolving associations for [com.ccg.security.Role#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - done materializing entity [com.ccg.security.Role#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - 1 collections were found in result set
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - collection fully initialized: [com.ccg.security.Group.roles#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - 1 collections initialized
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - collection initialized
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - initializing collection [com.ccg.security.Group.accounts#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - checking second-level cache
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - collection not cached
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - about to open: 0 open PreparedStatements, 0 open ResultSets
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - select accounts0_.groupId as groupId__, accounts0_.accountId as accountId__, account1_.id as id0_, account1_.username as username0_, account1_.password as password0_, account1_.accountNonLocked as accountN4_0_, account1_.enabled as enabled0_ from account_securityGroup accounts0_ inner join account account1_ on accounts0_.accountId=account1_.id where accounts0_.groupId=?
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - preparing statement
    [DEBUG][net.sf.hibernate.type.NullableType] - binding '1' to parameter: 1
    [DEBUG][net.sf.hibernate.loader.Loader] - result set contains (possibly empty) collection: [com.ccg.security.Group.accounts#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - uninitialized collection: initializing
    [DEBUG][net.sf.hibernate.loader.Loader] - processing result set
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '1' as column: id0_
    [DEBUG][net.sf.hibernate.loader.Loader] - result row: 1
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '1' as column: groupId__
    [DEBUG][net.sf.hibernate.loader.Loader] - found row of collection: [com.ccg.security.Group.accounts#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - reading row
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '1' as column: accountId__
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - loading [com.ccg.domain.Account#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - attempting to resolve [com.ccg.domain.Account#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - resolved object in session cache [com.ccg.domain.Account#1]
    [DEBUG][net.sf.hibernate.loader.Loader] - done processing result set (1 rows)
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - done closing: 0 open PreparedStatements, 0 open ResultSets
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - closing statement
    [DEBUG][net.sf.hibernate.loader.Loader] - total objects hydrated: 0
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - 1 collections were found in result set
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - collection fully initialized: [com.ccg.security.Group.accounts#1]
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - 1 collections initialized
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - collection initialized
    [DEBUG][net.sf.acegisecurity.intercept.AbstractSecurityInterceptor] - Authenticated: net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken@1c200d0: Username: com.ccg.domain.Account@1737301[id=1,....security.Group@3540ce[id=1,name=Users,description=Intranet Application User,roles=[com.ccg.security.Role@6a67ab]]]]; Password: [PROTECTED]; Authenticated: true; Details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1aa38c7: RemoteIpAddress: 127.0.0.1; SessionId: 5E2D43C38FC1C20DC88CFE0C69121D19; Granted Authorities: ROLE_USER
    [DEBUG][net.sf.acegisecurity.intercept.AbstractSecurityInterceptor] - Authorization successful
    [DEBUG][net.sf.acegisecurity.intercept.AbstractSecurityInterceptor] - RunAsManager did not change Authentication object
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - opened session
    [DEBUG][net.sf.hibernate.transaction.JDBCTransaction] - begin
    [DEBUG][net.sf.hibernate.transaction.JDBCTransaction] - current autocommit status:true
    [DEBUG][net.sf.hibernate.transaction.JDBCTransaction] - disabling autocommit
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - flushing session
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Flushing entities and processing referenced collections
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - running Session.finalize()
    [WARN ][net.sf.hibernate.impl.SessionImpl] - unclosed connection
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Processing unreferenced collections
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Scheduling collection removes/(re)creates/updates
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Flushed: 0 insertions, 0 updates, 0 deletions to 0 objects
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
    [DEBUG][net.sf.hibernate.impl.SessionImpl] - Dont need to execute flush
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - about to open: 0 open PreparedStatements, 0 open ResultSets
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - select this.id as id0_, this.type as type0_, this.name as name0_, this.classification as classifi4_0_, this.alias as alias0_, this.description as descript6_0_, this.designation as designat7_0_, this.expiration as expiration0_ from zone this where 1=1
    [DEBUG][net.sf.hibernate.impl.BatcherImpl] - preparing statement
    [DEBUG][net.sf.hibernate.loader.Loader] - processing result set
    [DEBUG][net.sf.hibernate.type.NullableType] - returning '1' as column: id0_
    [DEBUG][net.sf.hibernate.loader.Loader] - result row: 1
    Whats going on here?

  • #2
    The hibernate unclosed connection warning appears at almost every query via hibernate, however, it seems to start when the first call to loadUserByName() which in turn is calling this method:

    Code:
        public Account getAccountByName(String name) throws DataAccessException {
        	Account account = null;
            try {
                account = (Account)getSession()
                	.createQuery("FROM Account a WHERE a.username = :name")
                	.setParameter("name", name)
                	.uniqueResult();
    
            } catch (net.sf.hibernate.HibernateException ex) {
                throw SessionFactoryUtils.convertHibernateAccessException(ex);
            }
            return account;
        }
    I know this might seem like a hibernate question, but these problems never came up before I added Acegi. This method was actually being used by a mock security module we had in place for the time being.

    Comment


    • #3
      Acegi Security doesn't do anything with Hibernate at all. It delegates all persistence-related interactions to the AuthenticationDao, which you usually write (or use JdbcDaoImpl or InMemoryDaoImpl). I personally use Hibernate in many applications quite successfully with Acegi Security, and I know many others do as well. For these reasons this sounds to me more like a Hibernate question.

      I am curious whether you're using OpenSessionInViewFilter with Hibernate. If so, perhaps the fact the AuthenticationDao is accessing Hibernate from an Acegi Security filter (probably AuthenticationProcessingFilter or FilterSecurityInterceptor) is the issue. Is your OpenSessionInViewFilter being executed before these Acegi Security fitlers?

      Comment


      • #4
        Originally posted by Ben Alex
        Acegi Security doesn't do anything with Hibernate at all. It delegates all persistence-related interactions to the AuthenticationDao, which you usually write (or use JdbcDaoImpl or InMemoryDaoImpl). I personally use Hibernate in many applications quite successfully with Acegi Security, and I know many others do as well. For these reasons this sounds to me more like a Hibernate question.

        I am curious whether you're using OpenSessionInViewFilter with Hibernate. If so, perhaps the fact the AuthenticationDao is accessing Hibernate from an Acegi Security filter (probably AuthenticationProcessingFilter or FilterSecurityInterceptor) is the issue. Is your OpenSessionInViewFilter being executed before these Acegi Security fitlers?
        I checked our code, we are using the OpenSessionInViewFilter. It is, however, defined as a bean in applicationContext.xml. I replaced the bean def with a filter in web.xml and I am testing it out right now. I have not come across any unclosed session warnings yet, but i am having other strange errors that I have to work out. I'll keep at it for a while, im sure by removing the OpenSessionInView bean, some DAO's are no longer happy campers.

        Thanks for the tip Ben, I appreciate your help.


        edit: sorry, i meant we were using OpenSessionInViewInteceptor (thats why it was defined as a bean)

        Comment


        • #5
          Looks like the unclosed session problem is fixed. My web.xml looks like so... is the ordering correct? Some requests are throwing the exception shown below. I read on the spring api docs that errors like this may appear after adding the OpenSessionInViewFilter, not sure how to fix it.

          edit: in addition to the errors shown below, i am also getting exceptions telling me that i am in read only mode and that i need to set my flush mode to AUTO. I can't find anywhere in the API docs that allows me to set flush modes on the OpenSessionInViewFilter. Where do i configure this property if its not a property of the filter object?

          Code:
          	<!-- Keep the hibernate sessions open in the view -->
          	<filter>
          		<filter-name>Hibernate View Session Filter</filter-name>
          		<filter-class>
          			org.springframework.orm.hibernate.support.OpenSessionInViewFilter
          		</filter-class>
          	</filter>	
          	<filter-mapping>
          		<filter-name>Hibernate View Session Filter</filter-name>
          		<url-pattern>/*</url-pattern>
          	</filter-mapping>
          
          <!--
          	- Loads the root application context of this web app at startup,
          	- by default from "/WEB-INF/applicationContext.xml".
          		&#91;We're using maven to filter-copy to WEB-INF/classes/applicationContext.xml&#93;
          	- Use WebApplicationContextUtils.getWebApplicationContext&#40;servletContext&#41;
          	- to access it anywhere in the web application, outside of the framework.
          	-
          	- The root context is the parent of all servlet-specific contexts.
          	- This means that its beans are automatically available in these child contexts,
          	- both for getBean&#40;name&#41; calls and &#40;external&#41; bean references.
          	-->
              <listener>
                  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
              </listener>
          	
          	
          <!--
          	Acegi Security System for Spring
          	*** ORDERING OF THESE FILTERS IS CRITICAL, DO NOT CHANGE ***
          	-->
          
          	<filter>
          		<filter-name>Acegi Http Session Context Integration Filter</filter-name>
          		<filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
          		<init-param>
          			<param-name>targetClass</param-name>
          			<param-value>net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter</param-value>
          		</init-param>
          	</filter>	
          	<filter-mapping>
          		<filter-name>Acegi Http Session Context Integration Filter</filter-name>
          		<url-pattern>/*</url-pattern>
          	</filter-mapping>
          
          	<filter>
          		<filter-name>Acegi Authentication Processing Filter</filter-name>
          		<filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
          		<init-param>
          			<param-name>targetClass</param-name>
          			<param-value>net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilter</param-value>
          		</init-param>
          	</filter>	
          	<filter-mapping>
          		<filter-name>Acegi Authentication Processing Filter</filter-name>
          		<url-pattern>/*</url-pattern>
          	</filter-mapping>	
          	
          	<filter>
          		<filter-name>Acegi Anonymous Processing Filter</filter-name>
          		<filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
          		<init-param>
          			<param-name>targetClass</param-name>
          			<param-value>net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter</param-value>
          		</init-param>
          	</filter>
          	<filter-mapping>
          		<filter-name>Acegi Anonymous Processing Filter</filter-name>
          		<url-pattern>/*</url-pattern>
          	</filter-mapping>	
          	
          	<filter>
          		<filter-name>Acegi HTTP Request Security Filter</filter-name>
          		<filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
          		<init-param>
          			<param-name>targetClass</param-name>
          			<param-value>net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter</param-value>
          		</init-param>
          	</filter>
          	<filter-mapping>
          		<filter-name>Acegi HTTP Request Security Filter</filter-name>
          		<url-pattern>/*</url-pattern>
          	</filter-mapping>

          Code:
          &#91;DEBUG&#93;&#91;org.springframework.orm.hibernate.support.OpenSessionInViewFilter&#93; - Using session factory 'sessionFactory' for OpenSessionInViewFilter
          &#91;DEBUG&#93;&#91;org.springframework.orm.hibernate.support.OpenSessionInViewFilter&#93; - Opening single Hibernate session in OpenSessionInViewFilter
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter&#93; - Obtained from ACEGI_SECURITY_CONTEXT a valid Context and set to ContextHolder&#58; 'net.sf.acegisecurity.context.security.SecureContextImpl@12b7e11&#58; Authentication&#58; net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken@1ecb28e&#58; Username&#58; com.ccg.domain.Account@1c47573&#91;id=1,....security.Group@1140071&#91;id=1,name=Users,description=Intranet Application User,roles=&#91;com.ccg.security.Role@1048104&#93;&#93;&#93;&#93;; Password&#58; &#91;PROTECTED&#93;; Authenticated&#58; true; Details&#58; net.sf.acegisecurity.ui.WebAuthenticationDetails@15426ec&#58; RemoteIpAddress&#58; 127.0.0.1; SessionId&#58; 90D0406D39095818FA10DF9395ED662F; Granted Authorities&#58; ROLE_USER'
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter&#93; - ContextHolder not replaced with anonymous token, as ContextHolder already contained&#58; 'net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken@1ecb28e&#58; Username&#58; com.ccg.domain.Account@1c47573&#91;id=1,....security.Group@1140071&#91;id=1,name=Users,description=Intranet Application User,roles=&#91;com.ccg.security.Role@1048104&#93;&#93;&#93;&#93;; Password&#58; &#91;PROTECTED&#93;; Authenticated&#58; true; Details&#58; net.sf.acegisecurity.ui.WebAuthenticationDetails@15426ec&#58; RemoteIpAddress&#58; 127.0.0.1; SessionId&#58; 90D0406D39095818FA10DF9395ED662F; Granted Authorities&#58; ROLE_USER'
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap&#93; - Converted URL to lowercase, from&#58; '/credit_summary_list_companies.html?view=listcompanies'; to&#58; '/credit_summary_list_companies.html?view=listcompanies'
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap&#93; - Candidate is&#58; '/credit_summary_list_companies.html?view=listcompanies'; pattern is /signon.html*; matched=false
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap&#93; - Candidate is&#58; '/credit_summary_list_companies.html?view=listcompanies'; pattern is /welcome.html; matched=false
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap&#93; - Candidate is&#58; '/credit_summary_list_companies.html?view=listcompanies'; pattern is /reference.html; matched=false
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap&#93; - Candidate is&#58; '/credit_summary_list_companies.html?view=listcompanies'; pattern is /styles/**; matched=false
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap&#93; - Candidate is&#58; '/credit_summary_list_companies.html?view=listcompanies'; pattern is /images/**; matched=false
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.intercept.web.PathBasedFilterInvocationDefinitionMap&#93; - Candidate is&#58; '/credit_summary_list_companies.html?view=listcompanies'; pattern is /**; matched=true
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.intercept.AbstractSecurityInterceptor&#93; - Secure object&#58; FilterInvocation&#58; URL&#58; /credit_summary_list_companies.html?view=listCompanies; ConfigAttributes&#58; &#91;ROLE_USER&#93;
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.providers.ProviderManager&#93; - Authentication attempt using net.sf.acegisecurity.providers.dao.DaoAuthenticationProvider
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.providers.dao.cache.EhCacheBasedUserCache&#93; - Cache hit&#58; true; username&#58; jvargas
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.intercept.AbstractSecurityInterceptor&#93; - Authenticated&#58; net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken@26592&#58; Username&#58; com.ccg.domain.Account@1c47573&#91;id=1,....security.Group@1140071&#91;id=1,name=Users,description=Intranet Application User,roles=&#91;com.ccg.security.Role@1048104&#93;&#93;&#93;&#93;; Password&#58; &#91;PROTECTED&#93;; Authenticated&#58; true; Details&#58; net.sf.acegisecurity.ui.WebAuthenticationDetails@15426ec&#58; RemoteIpAddress&#58; 127.0.0.1; SessionId&#58; 90D0406D39095818FA10DF9395ED662F; Granted Authorities&#58; ROLE_USER
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.intercept.AbstractSecurityInterceptor&#93; - Authorization successful
          &#91;DEBUG&#93;&#91;net.sf.acegisecurity.intercept.AbstractSecurityInterceptor&#93; - RunAsManager did not change Authentication object
          &#91;INFO &#93;&#91;org.springframework.web.servlet.mvc.multiaction.MultiActionController&#93; - Trying to find handler for exception class &#91;org.springframework.orm.hibernate.HibernateSystemException&#93;
          &#91;INFO &#93;&#91;org.springframework.web.servlet.mvc.multiaction.MultiActionController&#93; - Trying to find handler for exception superclass &#91;org.springframework.orm.hibernate.HibernateSystemException&#93;
          &#91;INFO &#93;&#91;org.springframework.web.servlet.mvc.multiaction.MultiActionController&#93; - Trying to find handler for exception superclass &#91;org.springframework.dao.UncategorizedDataAccessException&#93;
          &#91;INFO &#93;&#91;org.springframework.web.servlet.mvc.multiaction.MultiActionController&#93; - Trying to find handler for exception superclass &#91;org.springframework.dao.DataAccessException&#93;
          &#91;INFO &#93;&#91;org.springframework.web.servlet.mvc.multiaction.MultiActionController&#93; - Trying to find handler for exception superclass &#91;org.springframework.core.NestedRuntimeException&#93;
          &#91;INFO &#93;&#91;org.springframework.web.servlet.mvc.multiaction.MultiActionController&#93; - Trying to find handler for exception superclass &#91;java.lang.RuntimeException&#93;
          &#91;INFO &#93;&#91;org.springframework.web.servlet.mvc.multiaction.MultiActionController&#93; - Trying to find handler for exception superclass &#91;java.lang.Exception&#93;
          &#91;ERROR&#93;&#91;org.springframework.web.servlet.FrameworkServlet&#93; - Could not complete request
          org.springframework.orm.hibernate.HibernateSystemException&#58; a different object with the same identifier value was already associated with the session&#58; 265, of class&#58; com.ccg.period.TaxPeriod; nested exception is net.sf.hibernate.NonUniqueObjectException&#58; a different object with the same identifier value was already associated with the session&#58; 265, of class&#58; com.ccg.period.TaxPeriod
          net.sf.hibernate.NonUniqueObjectException&#58; a different object with the same identifier value was already associated with the session&#58; 265, of class&#58; com.ccg.period.TaxPeriod
          	at net.sf.hibernate.impl.SessionImpl.checkUniqueness&#40;SessionImpl.java&#58;1677&#41;
          	at net.sf.hibernate.impl.SessionImpl.doUpdateMutable&#40;SessionImpl.java&#58;1443&#41;
          	at net.sf.hibernate.impl.SessionImpl.doUpdate&#40;SessionImpl.java&#58;1470&#41;
          	at net.sf.hibernate.impl.SessionImpl.saveOrUpdate&#40;SessionImpl.java&#58;1393&#41;
          	at net.sf.hibernate.engine.Cascades$4.cascade&#40;Cascades.java&#58;114&#41;
          	at net.sf.hibernate.engine.Cascades.cascade&#40;Cascades.java&#58;436&#41;
          	at net.sf.hibernate.engine.Cascades.cascadeCollection&#40;Cascades.java&#58;526&#41;
          	at net.sf.hibernate.engine.Cascades.cascade&#40;Cascades.java&#58;452&#41;
          	at net.sf.hibernate.engine.Cascades.cascade&#40;Cascades.java&#58;503&#41;
          	at net.sf.hibernate.engine.Cascades.cascade&#40;Cascades.java&#58;482&#41;
          	at net.sf.hibernate.impl.SessionImpl.doUpdate&#40;SessionImpl.java&#58;1475&#41;
          	at net.sf.hibernate.impl.SessionImpl.saveOrUpdate&#40;SessionImpl.java&#58;1393&#41;
          	at net.sf.hibernate.engine.Cascades$4.cascade&#40;Cascades.java&#58;114&#41;
          	at net.sf.hibernate.engine.Cascades.cascade&#40;Cascades.java&#58;436&#41;
          	at net.sf.hibernate.engine.Cascades.cascadeCollection&#40;Cascades.java&#58;526&#41;
          	at net.sf.hibernate.engine.Cascades.cascade&#40;Cascades.java&#58;452&#41;
          	at net.sf.hibernate.engine.Cascades.cascade&#40;Cascades.java&#58;503&#41;
          	at net.sf.hibernate.engine.Cascades.cascade&#40;Cascades.java&#58;482&#41;
          	at net.sf.hibernate.impl.SessionImpl.preFlushEntities&#40;SessionImpl.java&#58;2673&#41;
          	at net.sf.hibernate.impl.SessionImpl.flushEverything&#40;SessionImpl.java&#58;2250&#41;
          	at net.sf.hibernate.impl.SessionImpl.autoFlushIfRequired&#40;SessionImpl.java&#58;1805&#41;
          	at net.sf.hibernate.impl.SessionImpl.getQueries&#40;SessionImpl.java&#58;1568&#41;
          	at net.sf.hibernate.impl.SessionImpl.find&#40;SessionImpl.java&#58;1533&#41;
          	at net.sf.hibernate.impl.QueryImpl.list&#40;QueryImpl.java&#58;39&#41;
          	at net.sf.hibernate.impl.AbstractQueryImpl.uniqueResult&#40;AbstractQueryImpl.java&#58;550&#41;
          	at com.ccg.dao.hibernate.HibernateClientDAO.getTotalCreditByCompany&#40;HibernateClientDAO.java&#58;950&#41;
          	at com.ccg.credit.service.CreditServiceImpl.getTotalCreditByCompany&#40;CreditServiceImpl.java&#58;48&#41;
          	at sun.reflect.NativeMethodAccessorImpl.invoke0&#40;Native Method&#41;
          	at sun.reflect.NativeMethodAccessorImpl.invoke&#40;NativeMethodAccessorImpl.java&#58;39&#41;
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke&#40;DelegatingMethodAccessorImpl.java&#58;25&#41;
          	at java.lang.reflect.Method.invoke&#40;Method.java&#58;324&#41;
          	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection&#40;AopUtils.java&#58;296&#41;
          	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint&#40;ReflectiveMethodInvocation.java&#58;155&#41;
          	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed&#40;ReflectiveMethodInvocation.java&#58;122&#41;
          	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke&#40;TransactionInterceptor.java&#58;56&#41;
          	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed&#40;ReflectiveMethodInvocation.java&#58;144&#41;
          	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke&#40;JdkDynamicAopProxy.java&#58;174&#41;
          	at $Proxy22.getTotalCreditByCompany&#40;Unknown Source&#41;
          	at com.ccg.credit.web.CreditSummaryController.listCompanies&#40;CreditSummaryController.java&#58;150&#41;
          	at sun.reflect.NativeMethodAccessorImpl.invoke0&#40;Native Method&#41;
          	at sun.reflect.NativeMethodAccessorImpl.invoke&#40;NativeMethodAccessorImpl.java&#58;39&#41;
          	at sun.reflect.DelegatingMethodAccessorImpl.invoke&#40;DelegatingMethodAccessorImpl.java&#58;25&#41;
          	at java.lang.reflect.Method.invoke&#40;Method.java&#58;324&#41;
          	at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod&#40;MultiActionController.java&#58;352&#41;
          	at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal&#40;MultiActionController.java&#58;305&#41;
          	at org.springframework.web.servlet.mvc.AbstractController.handleRequest&#40;AbstractController.java&#58;123&#41;
          	at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle&#40;SimpleControllerHandlerAdapter.java&#58;44&#41;
          	at org.springframework.web.servlet.DispatcherServlet.doService&#40;DispatcherServlet.java&#58;584&#41;
          	at org.springframework.web.servlet.FrameworkServlet.serviceWrapper&#40;FrameworkServlet.java&#58;368&#41;
          	at org.springframework.web.servlet.FrameworkServlet.doGet&#40;FrameworkServlet.java&#58;319&#41;
          	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;689&#41;
          	at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;802&#41;
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;237&#41;
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;157&#41;
          	at net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke&#40;FilterSecurityInterceptor.java&#58;84&#41;
          	at net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter.doFilter&#40;SecurityEnforcementFilter.java&#58;182&#41;
          	at net.sf.acegisecurity.util.FilterToBeanProxy.doFilter&#40;FilterToBeanProxy.java&#58;125&#41;
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;186&#41;
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;157&#41;
          	at net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter&#40;AnonymousProcessingFilter.java&#58;153&#41;
          	at net.sf.acegisecurity.util.FilterToBeanProxy.doFilter&#40;FilterToBeanProxy.java&#58;125&#41;
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;186&#41;
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;157&#41;
          	at net.sf.acegisecurity.ui.AbstractProcessingFilter.doFilter&#40;AbstractProcessingFilter.java&#58;374&#41;
          	at net.sf.acegisecurity.util.FilterToBeanProxy.doFilter&#40;FilterToBeanProxy.java&#58;125&#41;
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;186&#41;
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;157&#41;
          	at net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter&#40;HttpSessionContextIntegrationFilter.java&#58;225&#41;
          	at net.sf.acegisecurity.util.FilterToBeanProxy.doFilter&#40;FilterToBeanProxy.java&#58;125&#41;
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;186&#41;
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;157&#41;
          	at org.springframework.orm.hibernate.support.OpenSessionInViewFilter.doFilterInternal&#40;OpenSessionInViewFilter.java&#58;171&#41;
          	at org.springframework.web.filter.OncePerRequestFilter.doFilter&#40;OncePerRequestFilter.java&#58;76&#41;
          	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;186&#41;
          	at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;157&#41;
          	at org.apache.catalina.core.StandardWrapperValve.invoke&#40;StandardWrapperValve.java&#58;214&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;104&#41;
          	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;520&#41;
          	at org.apache.catalina.core.StandardContextValve.invokeInternal&#40;StandardContextValve.java&#58;198&#41;
          	at org.apache.catalina.core.StandardContextValve.invoke&#40;StandardContextValve.java&#58;152&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;104&#41;
          	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;520&#41;
          	at org.apache.catalina.core.StandardHostValve.invoke&#40;StandardHostValve.java&#58;137&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;104&#41;
          	at org.apache.catalina.valves.ErrorReportValve.invoke&#40;ErrorReportValve.java&#58;117&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;102&#41;
          	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;520&#41;
          	at org.apache.catalina.core.StandardEngineValve.invoke&#40;StandardEngineValve.java&#58;109&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;104&#41;
          	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;520&#41;
          	at org.apache.catalina.core.ContainerBase.invoke&#40;ContainerBase.java&#58;929&#41;
          	at org.apache.coyote.tomcat5.CoyoteAdapter.service&#40;CoyoteAdapter.java&#58;160&#41;
          	at org.apache.coyote.http11.Http11Processor.process&#40;Http11Processor.java&#58;799&#41;
          	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection&#40;Http11Protocol.java&#58;705&#41;
          	at org.apache.tomcat.util.net.TcpWorkerThread.runIt&#40;PoolTcpEndpoint.java&#58;577&#41;
          	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run&#40;ThreadPool.java&#58;683&#41;
          	at java.lang.Thread.run&#40;Thread.java&#58;534&#41;
          &#91;DEBUG&#93;&#91;org.springframework.orm.hibernate.support.OpenSessionInViewFilter&#93; - Closing single Hibernate session in OpenSessionInViewFilter

          Comment

          Working...
          X