Nhibernate 异常无法打开事务的休眠会话

Nhibernate 异常无法打开事务的休眠会话,nhibernate,transactions,spring.net,Nhibernate,Transactions,Spring.net,有时我在我的NHibernate日志中遇到这个问题。我的应用程序在那一刻停止 更新了wityh数据配置 即使在成功的事务处理之后。与数据库的应用程序连接仍将保持在persist.in中 Nhibernate日志显示 无纤测井 2010-05-21 14:45:08428[工人][0]调试NHibernate.Impl.SessionImpl [(空)]- 执行刷新 2010-05-21 14:45:08428[工人][0]调试 NHibernate.Impl.ConnectionManager[

有时我在我的NHibernate日志中遇到这个问题。我的应用程序在那一刻停止

更新了wityh数据配置

即使在成功的事务处理之后。与数据库的应用程序连接仍将保持在persist.in中

Nhibernate日志显示

无纤测井

2010-05-21 14:45:08428[工人][0]调试NHibernate.Impl.SessionImpl [(空)]-

执行刷新

2010-05-21 14:45:08428[工人][0]调试 NHibernate.Impl.ConnectionManager[(null)]

-开始注册刷新

2010-05-21 14:45:08428[工人][0]调试 NHibernate.Impl.ConnectionManager[(null)]

-注册齐平结束

2010-05-21 14:45:08428[工人][0]调试NHibernate.Impl.SessionImpl [(空)]-

后齐平

2010-05-21 14:45:08428[工人][0]调试NHibernate.Impl.SessionImpl [(无效)]-

交易完成前

2010-05-21 14:45:08428[工人][0]调试 NHibernate.Impl.ConnectionManager[(null)]

-主动释放数据库连接

2010-05-21 14:45:08428[工人][0]调试 NHibernate.Connection.ConnectionProvider

[(null)]-关闭连接

2010-05-21 14:45:08428[工人][0]调试NHibernate.Impl.SessionImpl [(空)]-

交易完成

2010-05-21 14:45:08428[工人][0]调试 NHibernate.Transaction.AdoTransaction[(空)]

-正在运行AdoTransaction.Dispose()

2010-05-21 14:45:08428[工人][0]调试NHibernate.Impl.SessionImpl [(空)]-

闭幕会议

2010-05-21 14:45:08428[工人][0]调试NHibernate.Impl.BatcherImpl [(空)]-

正在运行BatcherImpl.Dispose(true)

下面是我的数据配置文件

   <?xml version="1.0" encoding="utf-8" ?>

<objects 
xmlns="http://www.springframework.net" 

         xmlns:db="http://www.springframework.net/database"

     xmlns:tx="http://www.springframework.net/tx">

  <object id="AuditLogger" type="Risco.Rsp.Ac.Audit.AuditLogger, Risco.Rsp.Ac.Audit" singleton="false"> 

    <property name="CacheSettings" ref="CacheSettings"  />
  </object>


  <object id="CacheSettings"

          type="Risco.Rsp.Ac.AMAC.CacheMgmt.Utilities.UpdateEntityCacheHelper, 

Risco.Rsp.Ac.AMAC.CacheMgmt.Utilities" singleton="false"/>

  <!-- Property placeholder configurer for database settings-->

  <object type="Spring.Objects.Factory.Config.PropertyPlaceholderConfigurer, Spring.Core">

    <property name="ConfigSections" value="databaseSettings"/>
  </object>

  <db:provider id="AMACDbProvider"

                provider="OracleClient-2.0"

    connectionString="Data Source=RISCODEVDB;User ID=amacdevuser; Password=amacuser1234;"/>

  <!-- For creating Factory objects -->
  <object id="NHibernateSessionFactory" 

  type="Spring.Data.NHibernate.LocalSessionFactoryObject,Spring.Data.NHibernate12">

    <property name="DbProvider" ref="AMACDbProvider"/>

    <property name="MappingAssemblies">
      <list>
              <value>
    Risco.Rsp.Ac.AMAC.CacheMappings

       </value>

      </list>

    </property>

    <property name="HibernateProperties">

      <dictionary>

        <entry key="hibernate.connection.provider"

               value="NHibernate.Connection.DriverConnectionProvider"
         />

        <entry key="hibernate.dialect"

               value="NHibernate.Dialect.Oracle9Dialect"
              />


        <entry key="hibernate.connection.driver_class"


               value="NHibernate.Driver.OracleClientDriver"/>

      </dictionary>


    </property>

  </object>


  <object id="HibernateTemplate" type="Spring.Data.NHibernate.HibernateTemplate"

singleton="false">

    <property name="SessionFactory"

 ref="NHibernateSessionFactory" />

    <property name="TemplateFlushMode" 
value="Auto" />

    <property name="CacheQueries" value="true" />

    <property name="EntityInterceptor" ref="AuditLogger"/>

  </object>


  ><object id="transactionManager" singleton="true"  

    type="Spring.Data.NHibernate.HibernateTransactionManager, >Spring.Data.NHibernate12">  

    <property name="DbProvider" ref="AMACDbProvider"/>

    <property name="SessionFactory" ref="NHibernateSessionFactory"/>

    <property name="EntityInterceptor" ref="AuditLogger"/>

  </object>


  <object id="EventPubSubDAOTx" 

type="Spring.Transaction.Interceptor.TransactionProxyFactoryObject,Spring.Data">

    <property name="PlatformTransactionManager" ref="transactionManager"/>

    <property name="Target" ref="EventPubSubDAO"/>

    <property name="TransactionAttributes">
       <name-values>

        <add key="Save*" value="PROPAGATION_REQUIRES_NEW"/>

        <add key="Delete*" value="PROPAGATION_REQUIRED"/>

      </name-values>

    </property>

  </object>


  <object id="EventPubSubDAO"  

    type="Risco.Rsp.Ac.AMAC.DAO.EventPubSubMgmt.EventPubSubDAO, 

   Risco.Rsp.Ac.AMAC.DAO.EventPubSubMgmt">

    <property name="HibernateTemplate" ref="HibernateTemplate" />

    <property name="SessionFactory" ref="NHibernateSessionFactory"/>

  </object>

  <!-- EventPubSubMgmt DAO -->


  <tx:attribute-driven/>

  </objects>

Risco.Rsp.Ac.AMAC.CacheMappings
>  

请帮助我解决此问题。谢谢

此异常通常是由使用已关闭的会话引起的。您还指出,您可能需要重新考虑您的连接和会话使用情况


由于您的问题中没有太多信息,因此很难提出改进建议。

等等,水晶球正在清理…感谢您1月的回复。请您提供您的邮件id,以便我可以向您发送数据配置和更多日志。我不希望如此。这就是这个网站的目的,我的时间不是免费的。你应该自己做一些研究,试着找出问题所在,并将结果发布在这个网站上。如果你花一些时间找出问题所在,并花一些时间恰当地描述问题,StackOverflow上有很多人愿意帮助你。伙计,我研究了很多,thn只想到了。如果我想帮助stack overflow中的人,我刚才问过你这个问题。因为这对你来说会更方便。以后我们会出版它的。谢谢你的回复