怎样在一个spring+hibernate的框架下,使他能支持分布式服务器集群

04-12-16 hk2000c
数据库读写代码都是 hibernate 的 DAO

使用 org.springframework.orm.hibernate.HibernateTransactionManager

作为事务控制类,现在问题来了。我现在要组建一个多台服务器集群。

apache+多台tomcat 或者 apache+ 多台 jboss。做 load balance。

我现在数据库是一个mysql ,我不知道怎么把我的代码做到对数据库读写多台应用服务器能正确地读写。因为 spring hibernate 文档里我暂时没有找到 cluster 的内容。

我怎样修改代码,或者干脆放弃 spring hibernate 转投 EJB 2.0 ?

或者使用 JTA?但我不知道怎么使用?

望高手指教!

dabb
2004-12-17 11:23
load banlance只是利用分配算法把请求分发到cluster中的服务器而已,跟hibernate和spring 有何关系??这完全是服务器的事情。

hk2000c
2004-12-17 11:51
这里面牵涉到事务处理

目前我的事务只是JDBC本地事务

是不是只要把本地JDBC事务配置换成 JNDI JDBC 数据库连接事务配置就可以了?

还有是不是需要把所有的model 实体类 都继承 Serializable 类 就可以了?

谢谢指教!

dabb
2004-12-20 09:58
如果只是单数据库的,用本地事务就可以。但跟集群也没有什么关系。如果你用的是spring 的aop的事务实现机制的话,要替换成jta也只是修改配置文件的事。

另外我不知道你用hibernate的时候,那些在多层之间传递的model怎么可以不serialized?

就我自己的认识而言,使用hibernate和spring跟你用不用cluster并没有什么直接的关系。那些跟cluster有关的问题在其他的实现方式下也同样存在,比如cache.当然使用hibernate的时候对它的cache实现应该指定一种支持cluster的cache实现方式。

猜你喜欢