我在Glassfish上部署企业应用5年的情况

中草药代码 2009-07-28

首先说明虽然我写了10年的java代码了.但是我不是高手.经常还要翻书查查基础语法.看看String的API.

我们公司的管理系统是我一个人开发的,数据库用的Oracle.从最开始我就是用了Glassfish,原因很简单,Netbeans里面绑定了.

我只要登录Web管理界面,就可以管理很多东西,比如数据库连接池,配置多个虚拟主机服务,管理Http监听器.部署新的应用.我只用这些,曾经测试过集群,很简单就创建好了,但是因为公司就200多人用系统所以用不上集群,也就不管了.

每次有了新版本我都会花上20分钟重新装上新版本,我也不知道有什么改进,反正新的总是好的吧.

GlassFish运行在Windows2003Server上非常稳定,基本上不停电不用重启.应用上的数据量差不多数据库每天增加40m.不算上传的每天200MB左右的文件.文件我没有放在数据库里,直接存在应用服务器上了.

开发我也没有使用任何框架,就是JSP+javaBean.不过我开发了自己的开发平台,系统中类似的东西都抽象出来,比如日历,查询表格,图表.开发一个新功能很简单的继承一下虚拟类,实现几个接口,把对应的sql语句扔进去就好了.目前还没有碰到什么效率问题.页面上最近这1年开始用Jquery替换了以前写的很复杂的javascript.页面也大量的使用了ajax替换了整个页面提交操作.UI比以前好了很多.Http请求数量下降了很多.再加上年初数据库和应用服务器都换了新的机器,运行速度又快了,一个大约需要50次数据库请求的页面不到1秒就能出来.

以前用的Glassfishv2能和Netbeans集成,自己开发的时候如果是直接修改jsp页面代码不用发布就可以看到修改结果,如果是更改了JavaBeans需要增量发布或者重新发布就可以看到结果.发布到正式应用的服务器时唯一问题就是每次发布新版本,如果有人正在使用,会因为清除了服务器上的Session而被强制退出,由于使用频率很高,有时候出现bug,发布升级版的时候会招来大量的投诉....

大概1年前,系统因为需求变化太大,所以重新构架,我也重新评估了Glassfishv3最吸引我的新功能就是SaveSession.虽然不能像以前那样通过Netbeans绑定远程发布新应用,但是只要把生成出来的War文件通过Web管理界面发布上去,并选择保存Session.就可以保留用户所有的Session而发布新应用了.这个功能真是感觉最有效的改进.投诉电话再也没有了.

看了论坛里很多关于和Tomcat的对比文章,其实我没有在2002年以后再用过Tomcat了.所以我也没有办法评价.不过有一次帮同事装一个Wiki的应用装了一个Tomcat5.0.修改配置还是需要自己动手改xml文件,我就觉得麻烦,虽然有人很享受用命令行和修改xml来配置应用服务器.但是我不喜欢,我比较喜欢考察实用性,什么能最快,最有效,最直接的解决问题我就用什么,就好像很多人用了EJB干jsp就足够的活...还是感觉技术够用就好了.没有必要追新的.

相关推荐