我有一个使用spring和hibernate部署在jboss env中的web应用程序。 的问题是,我一直在我的日志有这样一条消息:休眠事务管理器
12:28:44,895 FINE [org.hibernate.jdbc.ConnectionManager] transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!
我应该担心吗?所有的数据都正确地存储在数据库(甲骨文)和一切似乎工作正常。
这是我的配置(DB相关):
<bean name="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:jboss/datasources/DbDS</value>
</property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list>
..
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.connection.release_mode">auto</prop>
<prop key="hibernate.transaction.auto_close_session">false</prop>
</props>
</property>
</bean>
<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="dataSource" ref="dataSource" />
<property name="sessionFactory" ref="sessionFactory" />
</bean>
- > - > - >
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<bean
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" />
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
在此先感谢。
你是如何从SessionFactory的获取会话? sessionFactory.getCurrentSession()'或'sessionFactory.openSession()' –
sessionFactory.getCurrentSession() – Pirulino
我不确定有关transaction.auto_close_session参数,我不确定Spring是否显式关闭会话,而不是依靠关闭它与交易(它的包装只是在场景后面使用hibernate交易类),但我不是在桌面上100%肯定)) –