Hello,
I'm developing an aplication using Hibernate and Spring (with AOP) and a exception is throw in my log when I try to save by hibernate: [org.jboss.resource.adapter.jdbc.WrappedConnection] Closing a result set you left open! Please close it yourself..
I looking for solutions but I didnt find. I'm using JBoss Web 1.01, Hibernate 3, Spring and MySQL.
Below follows my log..
Bellows my aplication-context.xml:20:51:14,567 WARN [org.jboss.resource.adapter.jdbc.WrappedConnection] Closing a result set you left open! Please close it yourself.
java.lang.Throwable: STACKTRACE
at org.jboss.resource.adapter.jdbc.WrappedStatement.r egisterResultSet(WrappedStatement.java:617)
at org.jboss.resource.adapter.jdbc.WrappedStatement.g etGeneratedKeys(WrappedStatement.java:533)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.hibernate.util.GetGeneratedKeysHelper.getGener atedKey(GetGeneratedKeysHelper.java:69)
at org.hibernate.id.IdentityGenerator$GetGeneratedKey sDelegate.executeAndExtract(IdentityGenerator.java :74)
at org.hibernate.id.insert.AbstractReturningDelegate. performInsert(AbstractReturningDelegate.java:33)
at org.hibernate.persister.entity.AbstractEntityPersi ster.insert(AbstractEntityPersister.java:2108)
at org.hibernate.persister.entity.AbstractEntityPersi ster.insert(AbstractEntityPersister.java:2588)
at org.hibernate.action.EntityIdentityInsertAction.ex ecute(EntityIdentityInsertAction.java:48)
at org.hibernate.engine.ActionQueue.execute(ActionQue ue.java:248)
at org.hibernate.event.def.AbstractSaveEventListener. performSaveOrReplicate(AbstractSaveEventListener.j ava:290)
at org.hibernate.event.def.AbstractSaveEventListener. performSave(AbstractSaveEventListener.java:180)
at org.hibernate.event.def.AbstractSaveEventListener. saveWithGeneratedId(AbstractSaveEventListener.java :108)
at org.hibernate.event.def.DefaultSaveOrUpdateEventLi stener.saveWithGeneratedOrRequestedId(DefaultSaveO rUpdateEventListener.java:186)
at org.hibernate.event.def.DefaultSaveEventListener.s aveWithGeneratedOrRequestedId(DefaultSaveEventList ener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventLi stener.entityIsTransient(DefaultSaveOrUpdateEventL istener.java:175)
at org.hibernate.event.def.DefaultSaveEventListener.p erformSaveOrUpdate(DefaultSaveEventListener.java:2 7)
at org.hibernate.event.def.DefaultSaveOrUpdateEventLi stener.onSaveOrUpdate(DefaultSaveOrUpdateEventList ener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImp l.java:535)
at org.hibernate.impl.SessionImpl.save(SessionImpl.ja va:523)
at org.hibernate.impl.SessionImpl.save(SessionImpl.ja va:519)
at com.app.dao.impl.AbstractBaseDaoImpl.criar(Abstrac tBaseDaoImpl.java:68)
at com.app.dao.impl.UsuarioDaoImpl.criar(UsuarioDaoIm pl.java:51)
at com.app.service.impl.UsuarioServiceImpl.incluirUsu ario(UsuarioServiceImpl.java:203)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
....
HTML 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:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation=" [url]http://www.springframework.org/schema/beans[/url] [url]http://www.springframework.org/schema/beans/spring-beans-2.0.xsd[/url] [url]http://www.springframework.org/schema/tx[/url] [url]http://www.springframework.org/schema/tx/spring-tx-2.0.xsd[/url] [url]http://www.springframework.org/schema/aop[/url] http://www.springframework.org/schema/aop/spring-aop-2.0.xsd"> <bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:application.properties"/> <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/> </bean> <!-- Hibernate SessionFactory --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <!-- Se quiser definir named queries em documentos xml, para não ficarem mapeadas por annotations --> <property name="mappingResources"> <list> <value>com/app/domain/Sessao.hbm.xml</value> <value>com/app/domain/Perfil.hbm.xml</value> <value>com/app/domain/Usuario.hbm.xml</value> <value>com/app/domain/Template.hbm.xml</value> <value>com/app/domain/TipoOperacao.hbm.xml</value> <value>com/app/domain/ArquivoLock.hbm.xml</value> <value>com/app/domain/Log.hbm.xml</value> </list> </property> <property name="annotatedClasses"> <list> <value>com.app.domain.Sessao</value> <value>com.app.domain.Perfil</value> <value>com.app.domain.Usuario</value> <value>com.app.domain.Template</value> <value>com.app.domain.TipoOperacao</value> <value>com.app.domain.ArquivoLock</value> <value>com.app.domain.Log</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.connection.datasource">java:/contcma</prop> <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop> <prop key="hibernate.show_sql">false</prop> <prop key="hibernate.jdbc.batch_size">20</prop> <prop key="hibernate.bytecode.use_reflection_optimizer">true</prop> <prop key="hibernate.cache.use_second_level_cache">false</prop> <prop key="hibernate.query.substitutions">true 1, false 0</prop> </props> </property> </bean> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory"><ref local="sessionFactory"/></property> </bean> <!-- the transactional advice --> <tx:advice id="transactionAdvice" transaction-manager="transactionManager"> <!-- the transactional semantics... --> <tx:attributes> <!-- com transacao --> <tx:method name="incluir*" read-only="false" /> <tx:method name="alterar*" read-only="false" /> <tx:method name="excluir*" read-only="false" /> <tx:method name="consumir*" read-only="false" /> <tx:method name="registrar*" read-only="false" /> <!-- sem transacao --> <tx:method name="*" read-only="true" /> </tx:attributes> </tx:advice> <!-- ensure that the above transactional advice runs for any execution of an operation defined by the FooService interface --> <aop:config> <aop:pointcut id="usuarioServiceOperation" expression="execution(* com.app.service.UsuarioService.*(..))"/> <aop:pointcut id="sessaoServiceOperation" expression="execution(* com.app.service.SessaoService.*(..))"/> <aop:pointcut id="logServiceOperation" expression="execution(* com.app.service.LogService.*(..))"/> <aop:pointcut id="arquivoLockServiceOperation" expression="execution(* com.app.service.ArquivoLockService.*(..))"/> <aop:pointcut id="templateServiceOperation" expression="execution(* com.app.service.TemplateService.*(..))"/> <aop:advisor advice-ref="transactionAdvice" pointcut-ref="usuarioServiceOperation"/> <aop:advisor advice-ref="transactionAdvice" pointcut-ref="sessaoServiceOperation"/> <aop:advisor advice-ref="transactionAdvice" pointcut-ref="logServiceOperation"/> <aop:advisor advice-ref="transactionAdvice" pointcut-ref="arquivoLockServiceOperation"/> <aop:advisor advice-ref="transactionAdvice" pointcut-ref="templateServiceOperation"/> </aop:config> <!-- Dao's --> <bean id="usuarioDao" class="com.app.dao.impl.UsuarioDaoImpl"> <property name="sessionFactory"><ref local="sessionFactory"/></property> </bean> <bean id="sessaoDao" class="com.app.dao.impl.SessaoDaoImpl"> <property name="sessionFactory"><ref local="sessionFactory"/></property> </bean> <bean id="perfilDao" class="com.app.dao.impl.PerfilDaoImpl"> <property name="sessionFactory"><ref local="sessionFactory"/></property> </bean> <!-- /Dao's --> <!-- Services --> <bean id="usuarioService" class="com.app.service.impl.UsuarioServiceImpl"> <property name="dao"><ref local="usuarioDao"/></property> <property name="perfilDao"><ref local="perfilDao"/></property> <property name="sessaoDao"><ref local="sessaoDao"/></property> </bean> <!-- /Services --> <!-- Actions --> <bean id="login" scope="prototype" class="com.app.controller.admin.LoginAction"> <constructor-arg ref="usuarioService" /> </bean> <bean id="cadastrarUsuarioForm" scope="prototype" class="com.app.controller.admin.usuario.CadastrarUsuarioFormAction"> <constructor-arg ref="usuarioService" /> </bean> <!-- /Actions --> </beans>
It's missing something that I forgot in this configurations?
If its missing any data that you want to see just ask....
Thanks guys...


Reply With Quote