本周,我通过网上查找资料,对glassfish_v2(后面简称glassfish)进行了一些研究,同时结合公司的ucall进行部署,现对研究的结果进行总结。
一 对glasssfish的理解
glassfish 是 sun 公司推出的一个符合java ee 5规范的免费、开源web应用服务器。它和Tomcat一样是优秀的Servlet容器,但是它具备延迟加载的功能,也就是说,GlassFish在启动时只会启动一些必需的核心服务项,因此在加载大型应用程序时,它的启动时间是比较少的,同时,它支持类的动态加载,因此它为程序在开发调试程序的时候提供了方便,不用为频繁重新启动服务器而烦恼。
二 Glassfish的简单操作
glassfish的操作主要分两种,一是控制台,另外的就是命令行终端。控制台控制,直接打开浏览器输入地址:http://localhost:4848/ 默认用户名:admin 密码:adminadmin ,登录之后在左边栏可以看到树形结构的各种操作。命令行的方式,首先要在%GLASSFISH_HOME%\bin 目录下,键入asadmin + 对应的各种操作。
Glassfish的安装和配置,见最后“Glassfish 简单操作”。
三 Myeclipse与glassfish的集成
在myeclipse5.5及以上版本,glassfish_v2已经被集成,但是glassfish_v3没有被集成,这也是我用v2的原因。Myeclipse配置glassfish的步骤是:window-->Preferences-->MyEclipse-->Servers-->GlassFish2.x(注意,要Enable),主要填写的是Home Directory,比如我的就选择D:\glassfish之后就可以在MyEclipse里启动和关闭域了。
在myeclipse 中,插件只能简单的配合ide工作,因此,在myeclipse中只能进行服务的启动和停止,而且发布的工程也只是部署在独立的虚拟服务中,不能发布到集群中。另外,eclipse的运行环境的路径可能与命令行终端中不同,这就有可能会出现修改了glassfish的配置路径后,但是在myeclipse中不起作用的情形。
四 集群与负载均衡
集群分为水平集群和垂直集群两种,前者是在一台机器上配置多个实例,以一个代理为主,运行一个服务,后者是在多个机器上配置多个实例,一台机器作为代理,来运行一个服务。不管是哪中做法,首先需要配置一个代理节点nodeagent,指定host,然后在代理节点下创建实例。由于我只有一台机器,因此只实验了水平集群,在部署过程中,发现简单的测试程序能够成功部署,但是ucall的工程却怎么都部署不上去,且无任何错误提示,经过反复琢磨,发现是glassfish默认对上传的部署文件作了限制,发现问题后,经过网上查找资料,最后终于将ucall的工程成功发布集群。简单的操作见“Glassfish 简单操作”。
负载均衡,需要下载一个插件,然后配置到sun java system web server,也是经过很长时间的研究,却不能成功,后来再仔细研究sun公司发布的文档,发现我们用的glassfish是sun java system application server,但是负载均衡还要用到sun java system web server ,一个单词的区别,我把他当成了一个东西,结果按照文档操作,发现很多文件找不到。由于网络不太好,不能下载软件,负载均衡我没有实验,但是基本过程清楚。
五 需注意的事项
1. 路径问题,glassfish中程序读到的路径可能与tomcat,jetty中读到的路径不同,因此,很多在tomcat中能运行的程序,在glassfish中文件路径找不到。例如,Djava.library.path 在tomcat启动时,会将系统的path读入,但是glassfish不会,这样会造成动态的链接库文件只能放在glassfish找得到的地方,如%GLASSFISH_HOME%\lib。
2. 部署工程的问题,以文件夹方式部署web application 只能部署单独实例的虚拟机工程。部署集群的时候需要war包上传,但是上传war文件,要注意文件的大小,默认的为100m,如果超过此大小部署会不成功,且无任何提示。 更改上传文件限制配置的方式是:
%GLASSFISH_HOME%\lib\install\applications\admingui\adminGUI_war\WEB-INF\web.xml
<filter-name>UploadFilter</filter-name>
<filter-class>com.sun.webui.jsf.util.UploadFilter</filter-class>
<init-param>
<param-name>maxSize</param-name>
<param-value>[limit_upload_size]</param-value>
</init-param>
3. 启动实例的前提是要nodeagent是运行的,且只能在命令行启动
启动命令是,adadmin nodeagent-start nodeagentname
4. ucall两处源代码需要做修改。一是,base.flag.web800.util.PathManager 中的getPath()方法,在glassfish中读web800log4j.property文件总是读成%GLASSFISH_HOME%的主目录,结果总是找不到文件,其次是qflag_billing.jar中 的qflag.jdbc.DBProperty,同样的在读取取db.propery文件时候找不到路径。
六 遗留问题
1. 负载均衡,由于没有多台机器和软件,无法实验
2. 高可用性,前置条件是负载均衡的成功运行,目前不能实验
分享到:
相关推荐
glassfish集群搭建手册glassfish集群搭建手册glassfish集群搭建手册
演示怎样在Glassfish 中部署war 文件!
GlassFish4的下载和安装的详细步骤,下载地址,配置等。附带有GlassFish3的安装简述
GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。开发者可以免费获得源代码,还可以对代码进行更改。 GlassFish 是用于构建 Java EE 5应用服务器的开源开发项目的名称...
Glassfish 集群技术揭秘Glassfish 集群技术揭秘
Glassfish部署web项目
GlassFish2.0的安装
glassfish 安装配置文档 发布、eclipse调试
GlassFish 的安装和启动,中文的呀
Glassfish中关于tomcat介绍 Glassfish中关于tomcat介绍 Glassfish中关于tomcat介绍 Glassfish中关于tomcat介绍
本教程详细的介绍了sun公司的推出的服务器glassfish安装部署的使用步骤,阐述了glassfish和tomcat服务器的异同,以及glassfish的优点!正在开发JavaEE的朋友如果你还没使用过glassfish,那么请你去www.sun.com下载...
glassfish 详细的教程 指南 对于新手学习glassfish很有帮助
glassfish部署EJB公网访问设置
glassfish服务器是Netbean的网络服务器之一
Glassfish单机集群配置样例代码与资源
安装(Glassfish)需要JDK5以上版本的JDK。配置Glassfish需要ant1.6.5。 安装Glassfish 1. 下载Glassfish安装包, 并为JDK 5设置JAVA_HOME环境变量.
jmx和jmx在glassfish中的应用
介绍glassfish以及JAVA EE 5的关系,包含了glassfish的安装配置等信息
glassfish性能优化
glassfish-ose-4.0 白皮书,很全的哦