jon*_*n h 7 nhibernate distributed-transactions
我正在处理与Wiber服务中的NHibernate和分布式事务相关的奇怪问题.有关更多详细信息,请参阅导致'服务器无法恢复事务的死锁'与NHibernate和分布式事务.
似乎解决我的问题的一件事是使用NHibernate的AdoNetTransactionFactory,而不是AdoNetWithDistributedTransactionsFactory.
我相信AdoNetWithDistributedTransactionsFactory涉及使NHibernate的第二级缓存机制正常工作,但我们没有使用它.使用AdoNetTransactionFactory与分布式事务有什么(如果有的话)存在其他问题?
谢谢你的时间!
我强烈建议升级到 nhibernate 3.2(或接近它的版本)。为什么?自 2.1 以来,AdoNetWithDistributedTransactionFactory 有了重大改进(读取重写)。事实上,它现在可以正确处理 TransactionScopes/ambient-transactions 等。当我们在生产中运行 2.1 时,我们遇到了许多与分布式事务相关的问题。我们几乎必须自己修复大量内容并重新编译 NHibernate。3.2 似乎解决了围绕该主题的许多问题。
我附近没有源,但是,如果我没记错的话,AdoNetTransactionFactory 不会检查/处理环境事务。因此,当会话中不存在事务时,您将由 NHibernate 启动事务(通过 ISession.BeginTransaction())。
| 归档时间: |
|
| 查看次数: |
1084 次 |
| 最近记录: |