用了Hibernate,还需要再加一层Cache吗?
顺便提一下,我不打算用AspectJ。但是选择什么AOP框架呢,Spring不错,可惜不能单独抽取其AOP,不知道JBOSS AOP如何。另外,AOP的思想挺简单的,自己实现一个似乎也不是很困难的事情。
抉择ing。
Hibernate的缓存不能满足前台表现层批量查询的目的,所以还是必须靠近表现层存在一个Cache,Cache机制越靠近前台,性能越高。
至于批量查询Cache,如果我推荐,当然首选Jdon框架,其原理你可参考“Java实用系统开发指南”。你可以自己测试比较几个框架的批量查询性能。
另外敬请等待jdon 1.2,其AOP框架使用比较简单方便,虽然是一种粗粒度的拦截器,但是在实际应用中已经足够对付。Jdon 1.2在这个月内会推出,包括详细文档,已经基本成型,如果你要尝鲜,可直接联系我。
可以参考对象池的做法:
http://www.jdon.com/jive/article.jsp?forum=91&thread=18095
|
知道你在研究Jdon,赶忙将1.2版发给你,我还有最后API注释写一下就正式发布了,供你研究,也在1.2版本出面前多提宝贵意见,省得发生前面版本的仓促。
有什么建议我们交流,也许可就你这个案例探讨出一个合适的解决方案。
通过开源,确实做得比以前要做得好得多,但是也费时间和精力。
|
|
然后就是回归测试和性能测试,如果没有问题,我们就形成一个little release发布。
下一步重构是将所有的DAO(pojo)和业务模块结合在一起,形成完整的Facade层。这篇文章提供了不错的思路:
通用查询对象最优经验
再下一步的重构...,我需要一个NB的TagLib,不但能够动态显示QueryResult的内容,而且可以在客户端排序,就像windows的ListView控件,这需要javascript的帮助,更好的情况是,不但能够显示,而且可以编辑(满足批量修改和删除的需要)。
至于整个项目的重构我会参考banq的框架,现在对EJB提供支持的框架太少了,都是POJO!
|