-->
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: utterly stumped by synchronization aftercommit error
PostPosted: Mon Nov 14, 2011 9:31 pm 
Beginner
Beginner

Joined: Tue Aug 03, 2010 4:32 pm
Posts: 22
Greetings all,

So I've got a really bizarre problem with my Hibernate/Maven/Eclipse/Spring/HSQL/MySQL monster -
I can pull data out with a query crafted in the main program but not from within a DAO member.
Even more weirdly, the program does run flawlessly after changing to a different database
with a copy of the users table.

I am totally stumped. Here's some files, if someone would be so kind as to look them over, perhaps
point out some fiendish subtlty or obvious noob error.

databaseServerA.properties
Code:
hibernate.dialect=org.hibernate.dialect.HSQLDialect
hibernate.connection.characterEncoding=UTF-8
hibernate.connection.driver_class=org.hsqldb.jdbcDriver
hibernate.connection.url=jdbc:hsqldb:hsql://localhost/dsvd_local
hibernate.connection.username=sa
hibernate.connection.password=
hibernate.connection.release_mode=after_transaction
hibernate.cache.provider_class=org.hibernate.cache.NoCacheProvider
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=600
hibernate.c3p0.max_statements=50
hibernate.show_sql=false
hibernate.format_sql=true
hibernate.hbm2ddl.auto=create


databaseServerB.properties
Code:
hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
hibernate.connection.characterEncoding=UTF-8
hibernate.connection.driver_class=com.mysql.jdbc.Driver
hibernate.connection.url=jdbc:mysql://localhost:3306/dsvd
hibernate.connection.username=root
hibernate.connection.password=
hibernate.connection.release_mode=after_transaction
hibernate.cache.provider_class=org.hibernate.cache.NoCacheProvider
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=600
hibernate.c3p0.max_statements=50
hibernate.show_sql=false
hibernate.format_sql=true
hibernate.hbm2ddl.auto=update


ApplicationContext.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:context="http://www.springframework.org/schema/context"
  xmlns:util="http://www.springframework.org/schema/util"
  xmlns:tx="http://www.springframework.org/schema/tx"
  xmlns:aop="http://www.springframework.org/schema/aop"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
                      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                      http://www.springframework.org/schema/context
                      http://www.springframework.org/schema/context/spring-context-3.0.xsd
                      http://www.springframework.org/schema/util
                      http://www.springframework.org/schema/util/spring-util-3.0.xsd
                      http://www.springframework.org/schema/tx
                      http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
                      http://www.springframework.org/schema/aop
                      http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">

  <!-- adds support for @Transactional annotation -->
  <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>

  <!-- 1st database -->

  <!--  to use this one you must manually fire up the hsql database server using command-->
  <!--     java -cp hsqldb.jar org.hsqldb.Server -database.0 ./data/toby -dbname.0 dsvd_local -->
  <!--  BEFORE trying to execute the application                                           -->
  <bean id="databasePropertiesServerA"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location"          value="classpath:databaseServerA.properties" />
    <property name="placeholderPrefix" value="$dbServerA{" />
    <property name="placeholderSuffix" value="}" />
  </bean>

  <bean id="dataSourceServerA"
    class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass"       value="$dbServerA{hibernate.connection.driver_class}" />
    <property name="jdbcUrl"           value="$dbServerA{hibernate.connection.url}" />
    <property name="user"              value="$dbServerA{hibernate.connection.username}" />
    <property name="password"          value="$dbServerA{hibernate.connection.password}" />
    <property name="minPoolSize"       value="$dbServerA{hibernate.c3p0.min_size}" />
    <property name="maxPoolSize"       value="$dbServerA{hibernate.c3p0.max_size}" />
    <property name="maxIdleTime"       value="$dbServerA{hibernate.c3p0.timeout}" />
    <property name="maxStatements"     value="$dbServerA{hibernate.c3p0.max_statements}" />
  </bean>

  <!-- Hibernate session factory -->
  <bean id="sessionFactoryA"
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource"        ref="dataSourceServerA" />
    <property name="hibernateProperties">
      <props>
        <prop key="hibernate.dialect">$dbServerA{hibernate.dialect}</prop>
        <prop key="cache.provider_class">$dbServerA{hibernate.cache.provider_class}</prop>
        <prop key="hibernate.connection.characterEncoding">$dbServerA{hibernate.connection.characterEncoding}</prop>
        <prop key="hibernate.connection.releaseMode">$dbServerA{hibernate.connection.release_mode}</prop>
        <prop key="hibernate.show_sql">$dbServerA{hibernate.show_sql}</prop>
        <prop key="hibernate.format_sql">$dbServerA{hibernate.format_sql}</prop>
        <prop key="hibernate.hbm2ddl.auto">$dbServerA{hibernate.hbm2ddl.auto}</prop>
      </props>
    </property>
    <property name="annotatedClasses">
       <set>
         <value>dsvd_local.model.TeacherOfState</value>
       </set>
    </property>
  </bean>

  <!-- transaction manager -->
  <bean id="txManagerA"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory"       ref="sessionFactoryA" />
    <property name="dataSource"           ref="dataSourceServerA" />
  </bean>

  <!-- says we want to do annonation-driven transactions and which mgr to use -->
  <tx:annotation-driven transaction-manager="txManagerA" />

  <bean id="teacherOfStateDAO"
    class="dsvd_local.dao.hibernate.TeacherOfStateDAOHibernate"
    scope="prototype">
    <property name="sessionFactory" ref="sessionFactoryA" />
  </bean>

  <!-- 2nd database -->

  <bean id="databasePropertiesServerB"
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location"          value="classpath:databaseServerB.properties" />
    <property name="placeholderPrefix" value="$dbServerB{" />
    <property name="placeholderSuffix" value="}" />
  </bean>

  <bean id="dataSourceServerB"
    class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass"       value="$dbServerB{hibernate.connection.driver_class}" />
    <property name="jdbcUrl"           value="$dbServerB{hibernate.connection.url}" />
    <property name="user"              value="$dbServerB{hibernate.connection.username}" />
    <property name="password"          value="$dbServerB{hibernate.connection.password}" />
    <property name="minPoolSize"       value="$dbServerB{hibernate.c3p0.min_size}" />
    <property name="maxPoolSize"       value="$dbServerB{hibernate.c3p0.max_size}" />
    <property name="maxIdleTime"       value="$dbServerB{hibernate.c3p0.timeout}" />
    <property name="maxStatements"     value="$dbServerB{hibernate.c3p0.max_statements}" />
  </bean>

  <bean id="sessionFactoryB"
    class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource"        ref="dataSourceServerB" />
    <property name="hibernateProperties">
      <props>
        <prop key="hibernate.dialect">$dbServerB{hibernate.dialect}</prop>
        <prop key="cache.provider_class">$dbServerB{hibernate.cache.provider_class}</prop>
        <prop key="hibernate.connection.characterEncoding">$dbServerB{hibernate.connection.characterEncoding}</prop>
        <prop key="hibernate.connection.releaseMode">$dbServerB{hibernate.connection.release_mode}</prop>
        <prop key="hibernate.show_sql">$dbServerB{hibernate.show_sql}</prop>
        <prop key="hibernate.format_sql">$dbServerB{hibernate.format_sql}</prop>
        <prop key="hibernate.hbm2ddl.auto">$dbServerB{hibernate.hbm2ddl.auto}</prop>
      </props>
    </property>
    <property name="annotatedClasses">
      <set>
        <value>dsvd.model.User</value>
      </set>
    </property>
  </bean>

  <!-- transaction manager -->
  <bean id="txManagerB"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory"       ref="sessionFactoryB" />
    <property name="dataSource"           ref="dataSourceServerB" />
  </bean>

  <!-- says we want to do annonation-driven transactions and which mgr to use -->
  <tx:annotation-driven transaction-manager="txManagerB" />

  <bean id="userDAO"
   class="dsvd.dao.hibernate.UserDAOHibernate"
   scope="prototype">
   <property name="sessionFactory" ref="sessionFactoryB" />
  </bean>

</beans>


UserDAOHibernate
Code:
package dsvd.dao.hibernate;

import org.apache.log4j.Logger;
import org.hibernate.*;
import org.springframework.transaction.annotation.Transactional;

import org.hibernate.SessionFactory;
import org.hibernate.Query;

import dsvd.model.User;
import dsvd.dao.UserDAO;
import utils.*;

import static org.hibernate.criterion.Expression.*;

import java.util.*;

@Transactional
public class UserDAOHibernate implements UserDAO
{
    static private Logger logger = Logger.getLogger(UserDAOHibernate.class);
   
    private SessionFactory sessionFactory;

    public void setSessionFactory(SessionFactory sf) {
        this.sessionFactory = sf;
    }
   
  @SuppressWarnings("unchecked")
  public List<User> getAll()
  {
   logger.info("entering");
   
    List<User> results = null;
    User result = null;
    String sqlcmd;
   
    sqlcmd = " FROM User ";
    logger.info("got to A");
    Query hqlQuery = sessionFactory.getCurrentSession().createQuery( sqlcmd); // HQL uses CLASS names not TABLE names
    logger.info("got to B");
    results = hqlQuery.list();
   
    logger.info("exiting normally with a count of " + results.size() );  // <-- this line appears in the logger file with correct value

    return results;
  }
 
}


and lastly the program itself
TestQueries.java
Code:
package dsvd.model;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.*;

import org.apache.log4j.*;

import org.hibernate.Hibernate;
import org.hibernate.Query;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.transform.Transformers;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import utils.*;

import dsvd.dao.*;
import dsvd.dao.hibernate.*;
import dsvd.model.*;

public class TestQueries
{
    private static final Logger logger = Logger.getLogger(TestQueries.class);

    private static final String appName = "TestQueries";

    StateDAO    stateDAO;
    DistrictDAO districtDAO;
    SchoolDAO   schoolDAO;
    UserDAO     userDAO;

    State    currState = null;
    District currDistrict = null;
    School   currSchool = null;
    User     currUser = null;

    Session sessB;

    public void executeQueriesT()  //
    {
        logger.info("entering");

        java.util.List<User> results = null;
        User result;
        ListIterator<User> mi = null;
        String sqlcmd;

        sqlcmd = " FROM User ";
        Query hqlQuery = this.sessB.createQuery(sqlcmd);
        results = hqlQuery.list();
        //1st way
        mi = results.listIterator();
        while( mi.hasNext()) {
            User aUser = mi.next();
            System.out.println( aUser.toString() );
        }

        logger.info("exiting");

    }

    public void executeQueriesU()  //
    {
        logger.info("entering");

        java.util.List<User> results = null;
        User result;
        ListIterator<User> mi = null;
        String sqlcmd;

        logger.info("just before getAll");
        results = this.userDAO.getAll();
        logger.info("just after getAll");   // <--- program fails immediately BEFORE this line
        //1st way
        mi = results.listIterator();
        while( mi.hasNext()) {
            User aUser = mi.next();
            System.out.println( aUser.toString() );
        }

        logger.info("exiting");

    }

    @SuppressWarnings("unchecked")
    public static void main(String[] args)
    {
        logger.info("entering");

        String inn_str, tmp_str, roww;
        ArrayList<String> error_list;

        TestQueries theApp;

        theApp = new TestQueries();
       
        ApplicationContext ctx = new ClassPathXmlApplicationContext("ApplicationContext.xml");

        theApp.stateDAO    = (StateDAO)    ctx.getBean("stateDAO");
        theApp.districtDAO = (DistrictDAO) ctx.getBean("districtDAO");
        theApp.schoolDAO   = (SchoolDAO)   ctx.getBean("schoolDAO");
        theApp.userDAO     = (UserDAO)     ctx.getBean("userDAO");

        org.hibernate.SessionFactory sfB = (SessionFactory) ctx.getBean("sessionFactoryB", SessionFactory.class);
        theApp.sessB = sfB.openSession();

        theApp.executeQueriesT();
        theApp.executeQueriesU();

        System.out.println("finished");
        logger.info("exiting");
    }

}


the program runs, the home-made query in executeQueriesT runs just fine and displays the values of the row retrieved.
But trying to get the same info using the DAO method executes the method but fails immediately after returning from
the DAO method with the following msgs:
Code:
Exception in thread "Main Thread" java.lang.AbstractMethodError: afterCommit
   at org.springframework.transaction.support.TransactionSynchronizationUtils.invokeAfterCommit(TransactionSynchronizationUtils.java:133)
   at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerAfterCommit(TransactionSynchronizationUtils.java:121)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerAfterCommit(AbstractPlatformTransactionManager.java:953)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:796)
   at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)



and finally the logfile
Code:
.....
2011-11-14 17:51:07 INFO [dsvd.dao.hibernate.UserDAOHibernate-getAll] - exiting normally with a count of 1
2011-11-14 17:51:07 TRACE [springframework.transaction.interceptor.TransactionInterceptor-commitTransactionAfterReturning] - Completing transaction for [dsvd.dao.hibernate.UserDAOHibernate.getAll]
2011-11-14 17:51:07 TRACE [springframework.orm.hibernate3.HibernateTransactionManager-triggerBeforeCommit] - Triggering beforeCommit synchronization
2011-11-14 17:51:07 DEBUG [springframework.orm.hibernate3.SessionFactoryUtils-beforeCommit] - Flushing Hibernate Session on transaction synchronization
2011-11-14 17:51:07 TRACE [hibernate.event.def.AbstractFlushingEventListener-flushEverythingToExecutions] - flushing session
2011-11-14 17:51:07 DEBUG [hibernate.event.def.AbstractFlushingEventListener-prepareEntityFlushes] - processing flush-time cascades
2011-11-14 17:51:07 DEBUG [hibernate.event.def.AbstractFlushingEventListener-prepareCollectionFlushes] - dirty checking collections
2011-11-14 17:51:07 TRACE [hibernate.event.def.AbstractFlushingEventListener-flushEntities] - Flushing entities and processing referenced collections
2011-11-14 17:51:07 TRACE [hibernate.event.def.AbstractFlushingEventListener-flushCollections] - Processing unreferenced collections
2011-11-14 17:51:07 TRACE [hibernate.event.def.AbstractFlushingEventListener-flushCollections] - Scheduling collection removes/(re)creates/updates
2011-11-14 17:51:07 DEBUG [hibernate.event.def.AbstractFlushingEventListener-flushEverythingToExecutions] - Flushed: 0 insertions, 0 updates, 0 deletions to 1 objects
2011-11-14 17:51:07 DEBUG [hibernate.event.def.AbstractFlushingEventListener-flushEverythingToExecutions] - Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
2011-11-14 17:51:07 DEBUG [org.hibernate.pretty.Printer-toString] - listing entities:
2011-11-14 17:51:07 DEBUG [org.hibernate.pretty.Printer-toString] - dsvd.model.User{id=68475, passsword=xxxxxxxx, lastName=Manfred, districtCode=030201, privilegeLevel=8, userName=manfredk, stateCode=AZ, firstName=Kristi}
2011-11-14 17:51:07 TRACE [hibernate.event.def.AbstractFlushingEventListener-performExecutions] - executing flush
2011-11-14 17:51:07 TRACE [org.hibernate.jdbc.ConnectionManager-flushBeginning] - registering flush begin
2011-11-14 17:51:07 TRACE [org.hibernate.jdbc.ConnectionManager-flushEnding] - registering flush end
2011-11-14 17:51:07 TRACE [hibernate.event.def.AbstractFlushingEventListener-postFlush] - post flush
2011-11-14 17:51:07 TRACE [springframework.orm.hibernate3.HibernateTransactionManager-triggerBeforeCompletion] - Triggering beforeCompletion synchronization
2011-11-14 17:51:07 TRACE [springframework.transaction.support.TransactionSynchronizationManager-doUnbindResource] - Removed value [org.springframework.orm.hibernate3.SessionHolder@2239b30] for key [org.hibernate.impl.SessionFactoryImpl@25efc38] from thread [Main Thread]
2011-11-14 17:51:07 DEBUG [springframework.orm.hibernate3.HibernateTransactionManager-processCommit] - Initiating transaction commit
2011-11-14 17:51:07 DEBUG [springframework.orm.hibernate3.HibernateTransactionManager-doCommit] - Committing Hibernate transaction on Session [org.hibernate.impl.SessionImpl@22157c9]
2011-11-14 17:51:07 DEBUG [org.hibernate.transaction.JDBCTransaction-commit] - commit
2011-11-14 17:51:07 TRACE [org.hibernate.impl.SessionImpl-managedFlush] - automatically flushing session
2011-11-14 17:51:07 TRACE [org.hibernate.jdbc.JDBCContext-beforeTransactionCompletion] - before transaction completion
2011-11-14 17:51:07 TRACE [org.hibernate.impl.SessionImpl-beforeTransactionCompletion] - before transaction completion
2011-11-14 17:51:07 DEBUG [org.hibernate.transaction.JDBCTransaction-toggleAutoCommit] - re-enabling autocommit
2011-11-14 17:51:07 DEBUG [org.hibernate.transaction.JDBCTransaction-commit] - committed JDBC Connection
2011-11-14 17:51:07 TRACE [org.hibernate.jdbc.JDBCContext-afterTransactionCompletion] - after transaction completion
2011-11-14 17:51:07 DEBUG [org.hibernate.jdbc.ConnectionManager-afterTransaction] - transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!
2011-11-14 17:51:07 TRACE [org.hibernate.impl.SessionImpl-afterTransactionCompletion] - after transaction completion
2011-11-14 17:51:07 TRACE [springframework.orm.hibernate3.HibernateTransactionManager-triggerAfterCommit] - Triggering afterCommit synchronization
2011-11-14 17:51:07 TRACE [springframework.orm.hibernate3.HibernateTransactionManager-triggerAfterCompletion] - Triggering afterCompletion synchronization
2011-11-14 17:51:07 TRACE [org.hibernate.impl.SessionImpl-afterTransactionCompletion] - after transaction completion
2011-11-14 17:51:07 DEBUG [springframework.orm.hibernate3.SessionFactoryUtils-doClose] - Closing Hibernate Session
2011-11-14 17:51:07 TRACE [org.hibernate.impl.SessionImpl-close] - closing session
2011-11-14 17:51:07 TRACE [org.hibernate.jdbc.ConnectionManager-cleanup] - performing cleanup
2011-11-14 17:51:07 DEBUG [org.hibernate.jdbc.ConnectionManager-closeConnection] - releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
2011-11-14 17:51:07 DEBUG [v2.c3p0.stmt.GooGooStatementCache-checkinAll] - checkinAll(): com.mchange.v2.c3p0.stmt.GlobalMaxOnlyStatementCache stats -- total size: 2; checked out: 0; num connections: 2; num keys: 2
2011-11-14 17:51:07 DEBUG [mchange.v2.resourcepool.BasicResourcePool-trace] - trace com.mchange.v2.resourcepool.BasicResourcePool@20a13db [managed: 5, unused: 3, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2131970)
2011-11-14 17:51:07 DEBUG [v2.c3p0.stmt.GooGooStatementCache-checkinAll] - checkinAll(): com.mchange.v2.c3p0.stmt.GlobalMaxOnlyStatementCache stats -- total size: 2; checked out: 0; num connections: 2; num keys: 2
2011-11-14 17:51:07 TRACE [org.hibernate.jdbc.JDBCContext-afterTransactionCompletion] - after transaction completion
2011-11-14 17:51:07 DEBUG [org.hibernate.jdbc.ConnectionManager-afterTransaction] - transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!
2011-11-14 17:51:07 TRACE [org.hibernate.impl.SessionImpl-afterTransactionCompletion] - after transaction completion
2011-11-14 17:51:07 TRACE [springframework.transaction.support.TransactionSynchronizationManager-clearSynchronization] - Clearing transaction synchronization
2011-11-14 17:51:07 TRACE [springframework.transaction.support.TransactionSynchronizationManager-doUnbindResource] - Removed value [org.springframework.orm.hibernate3.SessionHolder@221d3cf] for key [org.hibernate.impl.SessionFactoryImpl@25209f9] from thread [Main Thread]
2011-11-14 17:51:07 TRACE [springframework.transaction.support.TransactionSynchronizationManager-doUnbindResource] - Removed value [org.springframework.jdbc.datasource.ConnectionHolder@222b571] for key [com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 2umlgt8j19p75yyrl43si|237b1ea, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> org.hsqldb.jdbcDriver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> 2umlgt8j19p75yyrl43si|237b1ea, idleConnectionTestPeriod -> 0, initialPoolSize -> 3, jdbcUrl -> jdbc:hsqldb:hsql://localhost/dsvd_local, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 600, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 20, maxStatements -> 50, maxStatementsPerConnection -> 0, minPoolSize -> 5, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]] from thread [Main Thread]
2011-11-14 17:51:07 DEBUG [springframework.orm.hibernate3.HibernateTransactionManager-doCleanupAfterCompletion] - Closing Hibernate Session [org.hibernate.impl.SessionImpl@22157c9] after transaction
2011-11-14 17:51:07 DEBUG [springframework.orm.hibernate3.SessionFactoryUtils-doClose] - Closing Hibernate Session
2011-11-14 17:51:07 TRACE [org.hibernate.impl.SessionImpl-close] - closing session
2011-11-14 17:51:07 TRACE [org.hibernate.jdbc.ConnectionManager-cleanup] - performing cleanup
2011-11-14 17:51:07 DEBUG [org.hibernate.jdbc.ConnectionManager-closeConnection] - releasing JDBC connection [ (open PreparedStatements: 0, globally: 0) (open ResultSets: 0, globally: 0)]
2011-11-14 17:51:07 DEBUG [v2.c3p0.stmt.GooGooStatementCache-checkinAll] - checkinAll(): com.mchange.v2.c3p0.stmt.GlobalMaxOnlyStatementCache stats -- total size: 0; checked out: 0; num connections: 0; num keys: 0
2011-11-14 17:51:07 DEBUG [mchange.v2.resourcepool.BasicResourcePool-trace] - trace com.mchange.v2.resourcepool.BasicResourcePool@215278d [managed: 5, unused: 4, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@2135f32)
2011-11-14 17:51:07 DEBUG [v2.c3p0.stmt.GooGooStatementCache-checkinAll] - checkinAll(): com.mchange.v2.c3p0.stmt.GlobalMaxOnlyStatementCache stats -- total size: 0; checked out: 0; num connections: 0; num keys: 0
2011-11-14 17:51:07 TRACE [org.hibernate.jdbc.JDBCContext-afterTransactionCompletion] - after transaction completion
2011-11-14 17:51:07 DEBUG [org.hibernate.jdbc.ConnectionManager-afterTransaction] - transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!
2011-11-14 17:51:07 TRACE [org.hibernate.impl.SessionImpl-afterTransactionCompletion] - after transaction completion


Sure could use some help diagnosing this quirk.

TIA,

Still-learning Steve


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.