记得以前曾经有网友跟我们讨论有关EasyJWeb的效率问题,大致意思是EasyJWeb用得少,没有经过成熟项目的考验,而struts应用案例比较多,所以用起更放心。我的看法是,EasyJWeb只是一个MVC框架,在一个J2EE应用中,MVC部分所承担的任务是比较少的,真正影响系统性能的是系统中间层,即业务逻辑层与数据持久层。因此,有人问我,EasyJWeb及EasyDBO能否放心用于正式的商业项目中,我曾经的回答是:由于两个项目都是测试阶段,不建议使用,EasyJWeb基本不会出什么问题(从系统的效率上来说),但EasyDBO的问题就难说了,因此不赞成把EasyDBO用于正式的商业项目中,等到正式发布1.0版本,有比较详尽的文档后再用。
当然,要是大家都不用的话,EasyDBO肯定到不了1.0版本就得夭折。于是我在最近公司的一个项目中还是大胆的用了。果不其然,过程还是比较痛苦的,遇到了很多对系统性能造成影响的问题,而且很多是非常致命的问题。下面简单说明如下:
EasyDBO作为一个ORM系统,作为持久层的应用,对系统的性能影响非常大,若出了问题是非常致命的。特别是缓存、事务、缓迟加载等。在最近我们公司的一个项目中,由于使用EasyDBO作为ORM系统,在开始一切都比较顺利,由于使用的代码生成工具,前期开发速度非常快,不过当数据到达几十万的时候,系统运行一段时间就会耗掉JVM内存,造成系统停止响应。汗啊,把头都搞大了。。。。。今天把源码看了看,发现是没有正常释放数据资源的原因。修正后的代码发到SVN上了,有兴趣的可以check out下来交流交流。
最让人头痛的是,由于EasyDBO项目当前没有测试代码,所以也不好对各个类进行单元测试,真是麻烦。因此,建议EasyDBO项目组对EasyDBO在数据源的管理、配置上重新进行调,另外加强对缓存部分的测试,特别是对大数据量测试。
现在的感受是: 做开源还真不容易啊,能长期、稳定参与的人也比较少。 唉!
最近,EasyJF在招聘专职的开源工作人员了,不知道会不会有什么改观!