1。下载,安装
电脑上必须预先安装Jdk5 or Jdk6,并且设置JAVA_HOME环境变量。从Sun的网站上下载 GlassFish v2.1 final build,是一个jar文件。下载后运行:
F:\>java -Xmx256m -jar glassfish-installer-v2ur2-b04-windows.jar
如果这里不加上-Xmx256m,很有可能会报OutOfMemoryException。这个命令会产生一个名为glassfish的目录。在glassfish目录下运行:F:\glassfish>lib\ant\bin\ant -f setup.xml
如果最后能看到“BUILD SUCCESSFUL”,就说明GlassFish已经安装成功了。GlassFish会建立一个名为“domain1“的域。
打开setup.xml文件我们可以看到默认的配置:
<property name="domain.name" value="domain1"/>
<property name="instance.name" value="server"/>
<property name="admin.user" value="admin"/>
<property name="admin.password" value="adminadmin"/>
<property name="admin.port" value="4848"/>
<property name="instance.port" value="8080"/>
<property name="orb.port" value="3700"/>
<property name="imq.port" value="7676"/>
<property name="https.port" value="8181"/>
如果想自定义domain name, user, password or ports,可以手动修改这个文件后再进行安装。
2。启动GlassFish服务器
将%glassfish_home%\bin目录添加到path环境变量中。在任意目录下键入asadmin start-domain即可启动default domain (domain1)。成功启动后在http://localhost:8080/可以看到服务器欢迎页面。
3。使用admin console
admin console是一个基于web的服务器管理和配置平台。在浏览器中键入http://localhost:4848就可以看到登陆页面。使用setup.xml中定义的user & password即可登陆。点击左侧树形结构上的节点可以在右侧窗口察看相应的管理项目。
Applications: 管理domain中部署的应用。
Application Server -> General:start & stop instance, view log files, JNDI browsing。。。
Application Server -> Adminstrator Password:修改admin console的密码
4。GlassFish的基本概念
Domain:
域(Domain)是GlassFish的一个核心概念,我们可以为每个GlassFish服务器建立多个域,而域里面又可以包含多种可管理的资源,包括实例、集群及它们各自资源。需要注意的是,一个可管理的资源,例如一个实例,只能专属于一个域。
Domain Administrator Server(DAS):
域管理服务器。DAS是GlassFish的一个核心组件,在集群的环境中,每个GlassFish服务器可能会存在多个服务实例
(Instance),DAS本身也是一个符合Java
EE5规范的服务实例,主要是为GlassFish提供核心管理的功能。所有对域的管理操作,例如Netbeans
IDE以及其他工具的管理请求,都是由DAS分发到各个服务器实例去的,而不是直接连接到各个服务器实例。
对于一些需要多个实例进行操作的管理请求,DAS会将操作请求广播到各个实例上去,所以,当DAS停止运行后,各种对域的管理操作都不能进行,当然,即使
DAS已经停止了运行,域的集群和服务器实例仍然可以正常工作,只要域还在正常运行。
Node:
一般来说,一个node(节点)就代表一个独立主机。一个很大的机器可能会分割为多个独立的节点。
节点需要一个轻量级的代理(Node Agent)来对服务器实例进行远程生命周期管理。节点代理主要负责实例的启动,停止以及创建,同时,也承担监视者以及重启失效进程的责任。
Server Instance:
服务器实例。
一个实例指的是掌管Java EE 5应用服务器的Java虚拟机。实例间的通信以及和DAS之间的通信是依赖于远程MBean方法的调用的。
感觉这和Oracle的RAC架构很相似。我们可以为oracle建立多个database,每一个database可以包含多个instance,Enterprise Grid Control负责管理所有的instance。
5。Domain的管理
5.1 create domain
F:\>asadmin create-domain --adminport 4849 myFirstDomain
成功后在%glassfish_home%\domains下可以看到myFirstDomain目录。asadmin start-domain myFirstDomain后键入http://localhost:4849即可登陆admin console。
直接在命令行键入asadmin create-domain可以看到所有可接受的参数。其中adminport和domain name是必需的,否则asadmin会报错。
--profile可以为创建的domain指定一个profile。如果没有显示的指定profile,asadmin会使用%glassfish_home%\config\asadminenv.conf中AS_ADMIN_PROFILE定义的缺省profile(developer)。GlassFish提供developer,cluster & enterprise三种profile。GlassFish的admin guide上面说:Do not create an enterprise domain unless you have HADB and the Network Security Services (NSS) keystore。就是说不要随便创建enterprise profile玩。HADB应该是指高可用性数据库,NSS keystore是什么我就不明白了。
--domaindir可以指定domain的目录。缺省目录为%glassfish_home%\domains
5.2 start & stop & delete & list domain
F:\>asadmin start-domain myFirstDomain
F:\>asadmin stop-domain myFirstDomain
如果只有一个domain,则可以省去domain name。
F:\>asadmin delete-domain myFirstDomain
F:\>asadmin list-domains
5.3 domain的配置文件
%glassfish_home%\domains\%domain_name%\config\domain.xml
对于其中大部分的配置GlassFish支持热部署,无需重启domain。这些配置包括:
- 部署应用和取消部署
- 添加,移除JDBC, JMS, Connector resources and pools
- 改变日志级别
- 修改监控级别
。。。
6。与IDE的集成
GlassFish与netbean, eclipse都可以方便的集成。比较起来netbean更简单些,毕竟是自家的产品嘛。eclipse还需要先下载一个server adapter。
7。部署应用
在GlassFish中部署应用有三种方法。下面以一个sample.war为例说明这三种方法。部署EJB module或者enterprise application的步骤大致相同。
7.1 自动部署
在%glassfish_home%\domains\%domain_name%下有一个autodeploy目录。把我的sample.war直接copy到这个目录下,大概两秒钟后出现一个叫sample.war_deployed的文件。这说明部署成功了。在admin console的Applications -> Web Applications下可以看到这个应用。如果要取消部署,把sample.war从autodeploy中删除即可。
这种部署方式最简单直接。但缺点是只支持本地部署,只能进行文件部署(jar, war, ear...),不能进行文件夹部署(解压sample.war后把整个文件夹copy到autodeploy下部署无效)。而且部署的文件只能位于autodeploy下面。
7.2 使用admin console部署
在admin console的Applications -> Web Applications中点Deploy按钮可以进入部署页面。
这里提供了两种选项。一种是Packaged file to be uploaded to the server,就是上传打包文件部署。使用这个选项可以把本机的应用部署到远程服务器上。另外一种是Local packaged file or directory that is accessible from the Application Server。就是说使用本地打包文件或者文件夹进行部署。文件夹部署方式非常方便本机开发调试。
比如说我在tomcat的webapps下有一个sample文件夹,我可以直接把这个文件夹部署到GlassFish中而无需进行打包。部署后改动sample中的jsp文件,刷新浏览器即可看到改变,不用重新部署。
7.3 使用asadmin命令部署
部署:
asadmin deploy --port 4849 --user admin F:\apache-tomcat-5.5.27\webapps\sample.war
取消部署:
asadmin undeploy --port 4849 --user admin sample
更详细的命令可以通过asadmin deploy --help获得。
好了,入门篇就写到这里。等有机会深入研究研究,再写进阶篇,高级篇,哈哈。
已有 0 人发表留言,猛击->>这里<<-参与讨论
JavaEye推荐