JiveJdon Community Forums
在线174人 Home | 论坛 | 培训咨询 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » J2EE/JavaEE/JEE/EJB/JSF等技术讨论
 
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 4 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
xiaohuojava

发表文章: 9
注册时间: 2007年02月12日 17:02
给他发消息
EntityBean的设计基本原则是什么?请帮我看看这种需求如何设计啊? 发表: 2006年11月07日 11:25 回复
数据库中有一份XML文件,有几个客户要频繁的对这份文件进行修改操作。因为需要把xml文件解析成DOM对象的。我不想频繁的解析文件。请问是把这个Dom对象作为实体Bean的一个field,修改PostLoad函数每次Load实体Bean时解析好。还是把Dom对象放在内存(Static字段)中,实体bean中只是String的字段和数据库对应。每次实体bean从内存中取好。或者还有什么更好的方法?
banq

发表文章: 9095
注册时间: 2002年08月03日 17:08
给他发消息
Re: EntityBean的设计基本原则是什么?请帮我看看这种需求如何设计啊? 发表: 2006年11月07日 12:19 回复
首先,我感觉原来设计上有一些缺陷,XML其实是一个String字段,数据库提供强大事务并发支持只能细化到字段,现在你的客户是修改数据库一个String字段中的一部分,这基本用不到数据库的事务机制了。

如果你将XML放在内存使用static,那么你自己需要严格的多线程并发控制,可以实现,技术有难度。

所以,目前可采取的办法就是使用实体bean,建议不要BMP,用CMP,再研究一下相关CMP事务配置,防止脏读。
xiaohuojava

发表文章: 9
注册时间: 2007年02月12日 17:02
给他发消息
Re: EntityBean的设计基本原则是什么?请帮我看看这种需求如何设计啊? 发表: 2006年11月07日 13:04 回复
谢谢banq,是打算使用CMP。也就是说通过配置可以实现一个实体bean每次只能在一个事务中被改变,是吧?但是如果DOM树放在实体Bean中的话,只好用@postload函数,如果这个实体bean频繁的被容器load的话,不是要频繁的解析文件?这种解析会带来的开销这么优化啊?
banq

发表文章: 9095
注册时间: 2002年08月03日 17:08
给他发消息
Re: EntityBean的设计基本原则是什么?请帮我看看这种需求如何设计啊? 发表: 2006年11月08日 11:31 回复
>如果这个实体bean频繁的被容器load的话
有缓存,如果不修改,load的是缓存,如果频繁发生修改,可以在EntityManager这层做些缓存或者使用merge,不过,效果不能寄希望,频繁修改是缓存的杀手。另外因为EJB3.0是隐含flush,挺难。
banq

发表文章: 9095
注册时间: 2002年08月03日 17:08
给他发消息
Re: EntityBean的设计基本原则是什么?请帮我看看这种需求如何设计啊? 发表: 2006年11月08日 12:08 回复
还有更手工的办法,使用DAO,自己的缓存来实现,这是险棋,但是很有效。
这个主题有 4 回复 / 1 页 [ ]
 
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam