spring.net + nhibernate 多数据库的支持,以及跨数据库的事物处理的讨论
来源:互联网 发布:地图线路制作软件 编辑:程序博客网 时间:2024/06/15 19:13
现在项目基本都是多数据库的数据存储方式,但sh架构的对多数据库架构的支持好像没发现什么好的解决方案。尤其采用了spring.net的事物aop后,感觉对多数据库的事物处理更费劲。可能是本人水平太低吧。
目前项目中,对多数据数据库的支持,就是每一个数据库配置相应的sessionFactory、transactionMananger与transactionInterceptor。在dao层实现3个对象的注入。可是此方式并不能实现跨数据的事物处理。这可是大问题。为此,索性不用spring.net提供的事物处理模块,或对于跨数据库采用自己的事物处理方式。其实spring.net的事物处理是采用aop方式,那何不项目中自己写一个事物aop实现多数据库的事物支持以及跨数据库的事物处理呢?
实现的代码就不贴了,原理如下:
1. 创建一个TransactionOptionAttribute事物选择类继承自Attribute
TransactionOptionAttribute类中关联System.Transaction的TransactionScopeOption枚举
2. 创建一个TransactionAdvice事物建议继承IMethodInterceptor
根据TransactionOptionAttribute的事物枚举值创建System.Transaction的TransactionScope的对象实现跨数据库的事物处理
3. 给客户端的方法添加TransactionOption的事物声明。
4. 别忘了,在系统中启动分布式事务处理的服务。
这个是个比较土鳖的方式来实现对支持多数据库以及事物的支持。但感觉还实用,呵呵~
- spring.net + nhibernate 多数据库的支持,以及跨数据库的事物处理的讨论
- NHibernate 配置文件的处理和使用多数据库的多层架构思路(第一部分)
- NHibernate 配置文件的处理和使用多数据库的多层架构思路(第二部分)
- NHibernate 配置文件的处理和使用多数据库的多层架构思路(补充部分一)
- NHibernate 配置文件的处理和使用多数据库的多层架构思路(补充部分二)
- NHibernate 配置文件的处理和使用多数据库的多层架构思路(第一部分)
- NHibernate 配置文件的处理和使用多数据库的多层架构思路(第二部分)
- NHibernate 配置文件的处理和使用多数据库的多层架构思路(补充部分一)
- NHibernate 配置文件的处理和使用多数据库的多层架构思路(补充部分二)
- nhibernate处理多数据库
- Nhibernate 多数据库连接或者多tablsepace和Schema的处理
- MySQL数据库操作类,支持严格模式的事物处理
- Spring+hibernate+mysql事物不回滚的原因以及处理
- Spring.net+nHibernate的整合
- Spring-事物的处理方式。。。
- Spring-事物的处理方式。。。
- asp.net 事物的处理
- spring.net 的事物管理
- 今天的事
- web developer tips (18):从工具箱粘贴或拖拽控件时进行绝对定位
- Call Adobe Form through ABAP Program
- 用Sql Server 2000的数据库备份来还原Sql Server 2005中的数据库
- 透明显示位图
- spring.net + nhibernate 多数据库的支持,以及跨数据库的事物处理的讨论
- Dlg 调用View 函数出错
- 一个通用的类的toString()方法
- 回复:String中如果有中文,如何保证length()返回的长度 在 Java 中字符串是以 Unicode 方式编码的,所以,无论中英文都算的长度为 1。根据你的描述,估计是想要取得英文长度为 1 中文长度为 2 的总长度吧。这个,理论上可以构造 An
- Windows系统端口对照详细说明
- 我的目标
- 3G-324M和H.324M的区别
- VC中如何调试DLL程序
- Jpeg 文件结构