`
king_tt
  • 浏览: 2114980 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

GlassFish 部署及应用入门

 
阅读更多
<!-- Feedsky FEED发布代码开始 -->

如果您喜欢这些文章,欢迎点击此处订阅本Blog

<!-- FEED自动发现标记开始 --> <!-- FEED自动发现标记结束 -->

Blog 订阅

<!--Google 728*90横幅广告开始-->

<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 728x90, 大横幅正文上方 */ google_ad_slot = "4725362798"; google_ad_width = 728; google_ad_height = 90; // --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

<!--Google 728*90横幅广告结束-->


GlassFish 社区
<!-- End Figure-->

2005 年 6 月,Sun 启动了 GlassFish 项目 —— 开发一个与 Java Platform, Enterprise Edition 5 (Java EE 5) 兼容的应用服务器,并向 Java 社区公开。此后,一个名为 GlassFish 社区 的活跃的开发人员社区参与了此项目。他们努力的最初结果是 GlassFish v1(第一个开源的、与 Java EE 5 兼容的应用服务器),以及 Java EE 5. 的参考实现。另外,GlassFish 社区还发布了 Toplink Essentials,即 Java Persistence API 的参考实现。此社区还培养了许多不同的子项目,比如 MetrojMakiOpen Message Queue (Open MQ)HudsonGrizzly

<!-- SIDEBAR --> <!-- END SIDEBAR -->

GlassFish v1 的重点是开发人员。目的是提供一个开源并与 Java EE 5 完全兼容的应用服务器,开发人员可以使用此服务器部署并测试其 Java EE 5 应用程序。远景是简单部署,也就是对单个 GlassFish 实例的应用程序部署。在 Common Development and Distribution License (CDDL) 下可用的 GlassFish v1 已经非常流行,每年的下载量都超过 3 百万。它已被全世界采纳并在多个发行版中可用,其中包括支持 Sun 的商业发行版 Sun Java System Application Server Platform Edition 9.0。它还在多个平台上可用,其中包括 Solaris、Windows 和 Linux 操作系统。

2007 年 9 月,GlassFish 社区发布 GlassFish v2,其中包括 GlassFish v1 的所有功能,并添加了其他功能,使得应用服务器能够接受重型生产环境的挑战。本文概述了这些功能。

本指南将阐述启动 GlassFish 服务器软件,封装和部署应用程序的基本步骤。同时还包括 Admin Console 和命令行工作的相关信息。要使用此快速入门指南,您必须首先安装 GlassFish 产品。有关下载及安装说明,请参见 GlassFish 下载页面

此文档包含以下几个主题:

  • 启动和验证服务器

  • 封装和部署应用程序

  • 使用命令行工具

  • 未来计划

有关此文档所使用的规范信息,请参阅 文档规范。

启动和验证服务器

本节提供的步骤适用于想启动和验证 GlassFish 服务器软件的管理员:

  • 启动 GlassFish 服务器

  • 确认服务器正在运行

  • 使用 Autodeploy 部署 Hello 应用程序

  • 登录 Admin Console

针对管理任务,GlassFish 服务器软件提供了能管理服务器实例的工具:

  • Admin Console,基于浏览器的图形用户界面

  • asadmin 实用工具,命令行工具

默认的管理值如下:

  • domain.name=domain1

  • instance.name=server

  • admin.user=admin

  • admin.password=adminadmin

  • admin.port=4848

  • instance.port=8080

  • orb.port=3700

  • imq.port=7676

  • https.port=8181

  • master.password=changeit (only in setup-cluster.xml)

在安装时运行 setup.xml 和 setup-cluster.xml 命令会用到这些值。在安装过程中,如有端口冲突,请用适当的端口值编辑 setup.xml 和 setup-cluster.xml 文件,并重新运行命令。

启动 GlassFish 服务器

单一实例模式

使用 ant -f setup.xml 执行安装时,通过启动域,您也启动了该服务。域会对属于它的服务实例提供授权和管理。启动域也就启动了该域中的服务。安装 GlassFish 服务时将创建默认的 domain1 域。

步骤
  1. 将 install-dir/bin/ 目录添加到PATH 环境变量中。

  2. 键入以下命令启动服务器:asadmin start-domain domain1.

    服务启动后会出现以下信息:Domain domain1 is ready to receive client requests. Additional services are being started in the background.

集群模式

GlassFish 支持集群模式的服务器实例,在集群中,每个实例的程序和配置均相同。与集群相关的术语,请参阅参阅 Cluster support in GlassFish V2

使用 ant -f setup-cluster.xml 执行安装时,通过启动域,您也启动了该服务。启动域会启动 DAS ,DAS 会依次启动该域中的实例,DAS是一个特殊委派的应用服务实例,它会在所有管理任务中进行协调。安装 GlassFish 时将创建默认的 domain1 域。

步骤
  1. install-dir/bin/ 目录添加到 PATH 环境变量中。

  2. 键入以下命令启动服务器:asadmin start-domain domain1.

    提示键入管理用户名和管理密码时,输入 setup-cluster.xml 中提供的用户名和密码。默认的用户名和密码分别是: adminadminadmin。服务启动后会出现以下信息:Domain domain1 started

  3. 创建集群、节点代理,请遵循快速入门指南
  4. 在 GlassFish V2 上创建集群后,如何加载平衡的快速方法,请参阅 Configuring the Cluster/Load Balancer with GlassFish V2

确认服务在运行

步骤
  • 确认该服务正在您的系统上运行,请单击此 URL:http://localhost:8080

    该 URL 包括两部分:

    • 如果浏览器和 GlassFish 服务器运行同相的系统上,则使用 localhost 。如果 GlassFish 服务器运行在另一个系统上,则将 URL 中的系统名称替换为localhost

    • 默认端口号是8080.如果在安装过程中,修改了端口号,在浏览器地址栏里也应作相应替换。

      你会看到服务欢迎页面出现在下面。

      该页面可能需要几分钟才能显示。

      当您看到这个页面时,表明服务器正在运行。如果服务器未运行,但系统运行正常,你会看到 server not found 错误。(在某些浏览器中,该错误会自动运行收索引擎。)

使用 Autodeploy 部署 Hello 应用程序

预先封装好的 Hello 程序,可以从 Java EE 5 教程上获得,也可从 http://glassfish.dev.java.net/downloads/quickstart/hello.war. 上下载。Hello 程序包含在 Web ARchive 文件中。封装好的程序可以是 Java™ ARchive 或者企业版 ARchive 文件。

拖拽或者复制 Hello 程序给域的 autodeploy 目录,能让你花费最小的力气立即运行预先封装好的程序。

步骤
  1. http://glassfish.dev.java.net/downloads/quickstart/hello.war 下载 hello.war

  2. hello.war 复制到 install-dir/domains/domain1/autodeploy/


    提示 - 在 Windows 操作系统中,你可以在桌面上为 autodeploy 目录创建一个快捷方式,然后将 hello.war 文件拖拽到快捷方式上。


    当系统完成应用程序的部署时,会在 autodeploy 目录下创建一个 hello.war_deployed 文件。根据你的系统配置,此过程可能需要几分钟。当你试图访问程序页面时,会出现错误: 404-File Not Found

  3. 要访问应用程序页面,请访问此 URL:http://localhost:8080/hello.

    应用程序首页会提示您键入名称:

  4. 键入名称并单击提交。

    应用程序会显示:Hello


    注意 - 你还可以使用 asadmin 命令行实用工具通过命令行或在 shell 脚本中部署程序。该命令是:asadmin deploy。若要获得等多信息,在命令提示后键入: asadmin deploy --help


登录 Admin Console

Admin Console 是一个基于 Web 的界面,它能使各种管理和配置任务更加简单。通常用于:

  • 部署和取消部署应用程序

  • 启用和禁用应用程序

  • 确认当前正在运行的应用程序

  • 配置 Java Database Connectivity (JDBC™) 资源和其他服务器设置

  • 在日志文件中选择和查看最近条目

有关使用 Admin Console 的更多信息,请获取在线帮助文档。

步骤
  1. 以单一实例模式访问 http://localhost:4848/,并以集群模式访问 https://localhost:4848

    • 如果 GlassFish 服务器和浏览器运行在相同的系统上,则使用 localhost。如果 GlassFish 服务器运行在另一台系统上,请替换 URL 中的系统名称。

    • 4848 是 Admin Console 的默认端口号。如果在安装过程中修改了端口号,请使用修改后的端口号。

  2. 输入用户名和密码。

    默认用户名是 admin,默认密码是 adminadmin

  3. 单击登录。

    Admin Console 应如下所示:

    用服务器树形结构中的项目配置 GlassFish 服务器软件的操作设置。通过右上角的按钮,获得在线帮助。

    要查看服务器的日志文件,在右边面板的普通任务标题下单击“搜索 Log 文件”,当 Log 档查看窗口出现时,设定搜素规则,单击搜索会显示状态信息,这些信息来自服务器和 JavaEE 程序的输出。

启动绑定的 Derby 数据库服务器

GlassFish 包括一个绑定的 Derby 数据库服务器,可以用命令 asadmin start-database 启动它。过程如下:

步骤
  1. 确保使用数据库用户登录。

  2. 运行 asadmin start-database.

    有关 start-database 命令的更多信息,请参阅该命令的帮助。

封装和部署应用程序

在部署应用程序之前,确保将它们压缩成 Java ARchive、Web ARchive 或者 Enterprise ARchive 文件。封装的应用 程序包含部署描述符,其中包含 GlassFish 加载程序所需要的信息,并建立了一个 URL指向这些信息和其他需要的资源。这部分描述了如下的封装和部署应用程序的技术:

有关更多信息,请参见 The Java EE 5 Tutorial 的 "Getting Started With Web Applications" 部分。

使用 IDE 开发和部署应用程序

NetBeans™ IDE 是一个集成的开发环境,你可以用它创建、封装和部署复杂的 Java EE 程序。NetBeans 可以从 http://www.netbeans.org. 下载,NetBeans IDE 运用集成了开发环境和部署环境,并且能让很多生成 Java EE 的步骤自动化。一旦你用 NetBeans IDE 注册了 GlassFish 服务,就可以很容易地封装、修改和部署它们。

有关 GlassFish 和 NetBeans IDE 的更多信息,请参见https://glassfish.dev.java.net/public/netbeans/index.html.

流行的 Eclipse IDE 还可用于开发和部署 GlassFish 上的 Java EE 程序。参考 https://glassfishplugins.dev.java.net/ 上的插件项目,可以提供 Eclipse version 3.1 的下载信息和 快速入门指南

使用 asant 封装 Hello 应用程序

如果程序没有用类似 NetBeans IDE 的工具封装,可以用该产品的附带工具 asant 该工具能使重复性的部署任务自动化,它也是一个可以初始化 GlassFish 服务环境和条用 akarta Ant 工具的 shell 脚本。 有关 asant 工具的信息,请参见: Sun Java System Application Server Platform Edition 9 Reference Manual and Chapter 3, "The asant Utility," in Sun Java System Application Server Platform Edition 9.0 Developer's Guide.

该部分包括封装应用程序的组件到另一个 WAR 文件。 包含 Hello 程序的build.xml 文件包含了创建目标。

步骤
  1. 如果你已经把 install-dir/bin 加到了 PATH 环境变量中,你现在就可以这样做。

  2. 进入存放 Hello 应用程序的目录。

  3. 键入 asant war.

    此命令将汇编应用程序的 WAR 文件。

通过 Admin Console 部署

封装 Hello 程序之后,下面将部署它。以下部分讨论用 Admin Console 部署应用程序,你也可以使用 asant

步骤
  1. 以单一实例模式单击 http://localhost:4848/asadmin,并以集群模式单击 https://localhost:4848/asadmin

    • 如果 GlassFish 服务器和浏览器运行在相同的系统上,则使用 localhost。如果 GlassFish 服务器运行在另一台系统上,请替换 URL 中的系统名称。

    • 4848 是 Admin Console 的默认端口号。如果在安装过程中修改了端口号,请使用修改后的端口号。

  2. 输入管理用户名和密码。

  3. 在左侧窗格中,单击 Application 节点并展开它。
  4. 单击 Web Applications。

  5. 如果您已经部署了 Hello 程序,选择靠近它的复选框并单击 Undeploy。

  6. 要部署最近汇编的 Hello 应用程序,请单击 Web Applications 页上的 Deploy。

  7. 选择 Package file to upload to the Application Server 选项并单击 Browse。

  8. 导航到存放 Hello 应用程序的目录并选择 hello.war

  9. 单击 Next。

  10. 在 Deploy Web Module 页面上,单击 OK。

    应用程序将出现在 Web Applications 列表中。

  11. 要验证应用程序已正确部署,请单击 Launch。

通过部署目录部署

如果合适的目录层次结构和部署配置已经建立,你就可以从发展目录部署程序。由于对于简单的程序这个过程是复杂的,因此只最推荐高级用户和简单程序使用。但是一旦这样做是可行时,直接从目录部署可以加速开发循环。

这个过程可以用 Admin Console 和或则命令行和脚本里的 asadmin deploydir 执行。由于大多数的开发者想在命令脚本里自动化这些步骤,现将使用命令行的步骤呈现于此,


注意 - 在 Windows 中使用 asadmin 之前,请参阅 To Configure the Windows Environment to Use the Command-Line Tools


步骤
  1. 在存放 Hello 应用程序的目录中,创建一个名称为 hello2/ 的新目录。

  2. hello.war 文件的内容解压到 hello2/ 目录。

    当你解压 hello.war时,维持目录结构不变。它也是你需要直接从目录部署的这类文件的一个模板。

  3. 如果你已经部署了 Hello 程序,在命令行中用 asadmin undeploy hello 封装它。

  4. 使用以下命令部署应用程序:

    asadmin deploydir hello-download-dir/hello2


    注意 - 指定 hello2/ 目录的完整路径。

    如果你没有安装带有"Don't prompt"的 GlassFish 服务,请指定 --user username, 选项, username 是管理者的名字。你可能会提示输入密码。


    会出现下面的信息: Command deploydir executed successfully.

  5. 验证应用程序正在运行,请访问 URL:http://localhost:8080/hello

使用命令行工具

除了 Admin Console 外,GlassFish 服务器软件还提供了各种各样的命令行工具来执行管理功能。这部分解释命令行工具。

要运行工具,请在命令窗口中输入命令名。下表的第一列是命令的名字,第二列是相关的描述。

表 1 命令行工具

工具名

说明

appclient

运行 Application Client Container 并调用 JAR 文件中的客户端程序。

asadmin

配置 GlassFish 服务器软件的管理工具。

asant

运行 Jakarta Ant 工具,这样你可以让重复的开发和部署任务自动化。

asapt

用 Java EE 解释编译 Java 资源。该工具自动调用 wsimport 命令。

asupgrade

升级 GlassFish 服务器软件的管理工具。

capture-schema

压缩数据库的模式信息,生成服务为 CMP 使用的模式文件。

jspc

编译 JSP 页面。

package-appclient

封装程序客户端容器库和 JAR 文件。

verifier

使带有 DTDs 的 Java EE 部描述符署有效。

该工具提供了图形用户接口,为了能够查看 GUI,请指定 -u 选项。

有些系通可能会有同名的驱动核查工具。要运行 GlassFish 服务核查工具,首先在 install-dir/bin 目录中必须有该工具。

wscompile

打开服务定义接口、产生客户数据和 JAX-RPC 的服务器概述。,或者为已经提供的接口产生网页描述语言。

wsdeploy

为使用 JAX-RPC 的服务程序生成一个有特定功能的,很容易部描的 WAR 文件。

wsgen

读取服务器端类生成网络服务部描和调用所需的数据。

wsimport

生成 JAX-WS 可移植的工件,例如服务器端接口、标记 wsdl:fault and soap:headerfault 中的预期类。不同步的回复来源于wsdl:message 标记,JAX-B 产生值的类型。

使用命令行工具配置 Windows 环境

步骤
  1. 在浏览器窗口或桌面右击我的电脑。

  2. 选择属性显示系统属性对话框。

  3. 单击高级选项卡。

  4. 单击环境标签。

  5. 在用户标签部分,添加或修改 PATH 变量。

    • 如果 PATH 变量存在:
      1. 单击编辑。

      2. 在变量值中,输入路径给 bin 目录,要区别于其他的输入,可以使用分号间隔。例如:

        install-dir/bin;other_entries

    • 如果PATH变量不存在 :

      1. 单击新建。

      2. 在变量名中输入 PATH

      3. 在变量值中,输入服务器的 bin 目录:

        install-dir/bin

  6. 在用户选项卡部分,添加环境变量AS_ADMIN_USER 并且把它设置成你在安装中用的管理者名字。

    如果你设定了这个变量,你在运行 the administrative user name when you run asadmin 命令时,不需要输入管理者名.

  7. 单击 OK 提交并关闭剩余的窗口。

未来计划

学习和使用 GlassFish 服务器的其他资料,包括:


<!--Google 728*90横幅广告开始-->

<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 728x90, 大横幅正文下方 */ google_ad_slot = "4725362798"; google_ad_width = 728; google_ad_height = 90; // --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

<!--Google 728*90横幅广告结束-->


<!--新Google 468x15 横链接单元开始-->

<script type="text/javascript"><!-- google_ad_client = "pub-7343546549496470"; /* 468x15 横链接单元 */ google_ad_slot = "5785741422"; google_ad_width = 468; google_ad_height = 15; // --></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

<!--新Google 468x15 横链接单元结束-->
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics