Sun Java logo     上一个      目录      索引      下一个     

Sun logo
Sun Java System Application Server 企业版 7 2004Q2 入门指南 

第 4 章
Cluster JSP 样例应用程序教程

本章演示了使用负载平衡器插件进行的简单的 HTTP 故障切换。本章并未介绍 HTTP 负载平衡器插件的全部功能,有关负载平衡器插件的其它功能的信息,请参阅 Sun Java System Application Server Administration Guide。

本章包括以下几个部分:


使用 Cluster JSP 样例应用程序教程的准备工作

在使用本教程之前,用户必须已执行了以下操作:


将 Cluster JSP 样例应用程序部署到群集中

Cluster JSP 样例应用程序演示了如何在群集中的应用服务器之间平均分摊对 JSP 的请求。其中的购物车样例演示了 HTTP 会话信息是如何保留下来的,即使应用服务器发生故障。

样例应用程序附带了 WAR 文件,该文件可以作为 Web 应用程序进行部署。用户无需编译或汇编样例应用程序。


所有使用会话故障切换的应用程序都必须是可分布的。clusterjsp 样例应用程序是可分布的,如果您查看其 web.xml 文件就可以发现。

查看步骤:

  1. 转到 Cluster JSP 样例的 src 目录:
  2. cd /install_dir/samples/ee-samples/clustesrjsp/src

  3. 查看 web.xml 文件。您会看到以下代码:
  4. <web-app>

      <display-name>clusterjsp</display-name>

      <distributable/>

web-app 元素具有指定的 distributable 子元素。无需更改应用程序的代码。


要将样例应用程序部署到群集中,必须先将它部署到群集中的每个实例中。

使用 cladmin 命令将应用程序同时部署到群集中的所有实例中。cladmin 命令将在群集中的所有实例上同时运行 asadmin 命令cladmin 命令位于 install_dir/bin 目录中。

本部分包括以下主题:

cladmin 命令的输入文件

cladmin 命令使用两个输入文件:clinstance.confclpassword.conf

这些文件位于 install_config_dir 目录中。由于之前使用过这些文件来运行 clsetup,因此这些文件具有适合您的工作环境的正确值。

由于这些文件中包括了运行 cladmin deploy 命令需指定的多个值,因此可以用最少的选项来运行 deploy 命令。

cladmin 命令的语法

cladmin 命令的语法如下所示:

cladmin [--help] [--instancefile instance_file_location] [--passwordfile password_file_location] asadmin_command

其中:

如果输入文件位于默认位置 /etc/opt/SUNWappserver7 中,则可以省略 instancefilepasswordfile 选项,按以下所示运行此命令:

cladmin asadmin_command

运行 cladmin deploy 命令

要将应用程序部署到群集中的所有实例中,请键入:

cladmin deploy filepath

使用随样例提供的 WAR 文件,您可以将样例作为 Web 应用程序进行部署,其中 filepath 是 WAR 文件的路径。

例如,如果 Cluster JSP 应用程序位于默认位置,则键入:

cladmin deploy /opt/SUNWappserver7/samples/ee-samples/clusterjsp/clusterjsp.war

如果设置了 PATH 变量,您也可以转到 WAR 文件所在的目录,从该位置部署应用程序。例如:

cd install_dir/samples/ee-samples/clusterjsp

cladmin deploy clusterjsp.war

运行 cladmin deploy 命令时,您会在应用程序被部署到群集中的每个实例时看到相应的消息。

如果出现错误,请参考日志文件 /var/tmp/cladmin.log 以获得详细信息。


如果您是以 root 用户身份操作,并且尚未设置 root 用户的 PATH 变量,那么您可能无法从任何目录中运行 cladmin 命令。请转到 install_dir/bin 目录,然后在命令提示符下键入 ./cladmin asadmin_command


由 cladmin 命令支持的 asadmin 命令

您可以使用 cladmin 命令,同时对群集中的每个应用服务器实例运行以下 asadmin 命令(configure-session-persistence 除外):

表 4-1 由 cladmin 支持的 asadmin 命令

命令

用途

start-instance

启动应用服务器实例

stop-instance

停止应用服务器实例

deploy

在应用服务器实例中部署目录中的 EJB、WEB、连接器、appclient 或应用程序组件

undeploy

删除应用服务器实例中已部署的组件

create-jdbc-resource

为应用服务器实例创建 JDBC 资源

create-jdbc-connection-pool

为应用服务器实例创建 JDBC 连接池

configure-session-persistence

为应用服务器实例配置会话持久性。对于在同一台计算机上运行的 Application Server 的所有实例,只需运行一次此命令。

delete-jdbc-resource

删除应用服务器实例的 JDBC 资源

delete-jdbc-connection-pool

删除应用服务器实例的 JDBC 连接池

有关 cladmin 命令的详细信息,请参阅 Sun Java System Application Server Administration Guide

要求和限制

cladmin 命令的运行有以下要求和限制:


使用 cladmin 命令启动应用服务器实例

在部署完样例应用程序之后,请验证服务器实例处于运行状态。

  1. 在命令提示符下,键入:
  2. asadmin list-instances

    此命令可以显示实例以及这些实例是否处于运行状态。

  3. 如果实例尚未运行,请使用 cladmin 命令按以下所示启动这些实例:
  4. cladmin start-instance

    启动每个服务器实例时,您会看到相应的消息。


验证应用程序部署

部署了应用程序之后,您就可以在 Sun Java System Application Server 实例中运行该应用程序来测试部署结果。要运行样例应用程序,请执行以下操作步骤:

  1. 通过浏览器访问以下 URL:
  2. http://host:application_server_instance_port/clusterjsp

    例如:

    http://test.sun.com:81/clusterjsp

  3. 您会看到此样例应用程序的页面。
  4. 图 4-1 Cluster JSP 样例应用程序页面
    应用服务器中的 Cluster JSP 样例服务器

    如果出现错误,请参见应用服务器实例部署的错误诊断

  5. 在会话属性字段输入信息,然后单击“添加会话数据”。
  6. 应用程序将显示您所添加的数据。

  7. 要验证下一个实例的部署,请在 URL 中键入该实例的端口和主机名:
  8. http://host:application_server_instance_port/clusterjsp

    例如:

    http://test.sun.com:82/clusterjsp

这些 URL 可验证是否已将应用程序部署到应用服务器实例中。由于尚未将应用程序添加到 loadbalancer.xml 中的群集,因此还不能通过 Web 服务器验证该应用程序。

监视应用服务器中的样例

您可以通过查看应用服务器实例的事件日志文件来监视样例应用程序。每个应用服务器实例都有自己的事件日志。

本部分包括以下主题:

使用管理界面查看日志

要使用管理界面查看服务器实例的日志文件,请执行以下操作步骤:

  1. 进入管理界面。
  2. 在左侧的窗格中,单击希望检查其日志的实例。
  3. 单击“日志”选项卡。
  4. 单击“查看事件日志”
  5. 要刷新日志视图,请单击“确定”。

如果要查看的日志条目超过 25 个,可直接在“要查看的错误数目?”区域中输入一个较大的数字,然后单击“确定”刷新日志。

要使用管理界面查看应用服务器实例的 HTTP 访问日志,请执行以下操作步骤:

  1. 进入管理界面。
  2. 在左侧的窗格中,单击希望检查其日志的实例。
  3. 单击“日志”选项卡。
  4. 单击“查看 HTTP 访问日志”。

服务器实例的 HTTP 访问日志中显示了服务器实例接收到的对样例应用程序的访问情况。

访问日志的名称为 access。默认情况下,访问日志文件和服务器事件日志文件位于同一目录中:

domain_config_dir/domain1/server1/logs/

使用 tail 命令查看日志

使用 tail -f 命令监视日志文件可以在记录这些文件后自动显示消息。您必须在管理界面中单击某个按钮来反映页面上的新信息。

要使用在中使用 tail -f 命令,请执行以下操作步骤:

  1. 浏览到要监视的服务器实例的日志目录,例如:
  2. cd domain_config/domain1/server1/logs/

  3. 在服务器事件日志文件中运行 tail 命令:
  4. tail -f server.log

    -f 选项使 tail 命令处于运行状态,这样当有新的日志条目写入文件时,将显示该条目。

事件日志中由应用程序生成的消息

当应用程序向 stdout 和/或 stderr 写入信息时,默认情况下,该信息将作为 INFO 级的消息,用消息 ID CORE3282 (stdout)CORE3283 (stderr) 记录到服务器实例的事件日志中。当运行 Cluster JSP 样例时,一些由应用程序生成的消息将被写入服务器事件日志。以下摘录的是某些消息的快照:

例如:

[13/Aug/2003:17:32:28] INFO ( 9657): CORE3282: stdout: 没有为该请求输入参数

[13/Aug/2003:17:32:34] INFO ( 9657): CORE3282: stdout: 添加到会话:name1 = 1

[13/Aug/2003:17:32:45] INFO ( 9657): CORE3282: stdout: 添加到会话:name2 = 2

[13/Aug/2003:17:32:52] INFO ( 9657): CORE3282: stdout: 添加到会话:name3 = 3

这些消息显示出当向应用程序的用户界面输入数据时,值的变化。

访问日志中由应用程序生成的消息

运行 Cluster JSP 样例时,将在响应访问请求的应用服务器实例中记录访问日志消息。

192.18.151.14 - - [12/Aug/2003:15:34:52 -0700] "GET /clusterjsp/ HTTP/1.0" 302 1086

192.18.151.14 - - [12/Aug/2003:15:34:52 -0700] "GET /clusterjsp/HaJsp.jsp HTTP/1.0" 200 1578

应用服务器实例部署的错误诊断

下表介绍了尝试运行此样例应用程序时最常见的问题。左侧列显示了出现的情况,中间列是可能导致问题的原因,右侧列是建议尝试的解决办法。

表 4-2 应用服务器实例部署的错误诊断

出现的情况

可能原因

解决办法

尝试访问首页时连接失败。

未启动应用服务器。

在 URL 中指定了错误的端口。

确保已经启动了应用服务器。

确定正确的 HTTP 服务器端口号。

有关详细信息,请参见启动服务器

访问主页面时出现 404 错误。

未部署应用程序。

请参见将 Cluster JSP 样例应用程序部署到群集中

解决问题时,监视应用服务器的日志文件是非常必要的。同时,查看 HTTP 访问日志文件,以验证 HTTP 请求是否按预期到达应用服务器也很重要。


将样例应用程序添加到群集

当您在群集中的两台服务器实例中部署了样例应用程序之后,您就必须将该应用程序添加到在 loadbalancer.xml 中创建的群集:

  1. 转到 Web 服务器的 config 目录,并使用文本编辑器打开 loadbalancer.xml 文件。
  2. loadbalancer.xml 样例文件包含以下行:
  3. <web-module context-root="/abc" enabled="true" disable-timeout-in-minutes="60" enabled="true" />

    更改此行以反映 clusterjsp 样例应用程序:

    <web-module context-root="clusterjsp" enabled="true" disable-timeout-in-minutes="60"/>

    此行将把 clusterjsp 应用程序添加到群集并启用该应用程序。

    上下文根路径与在 Sun Java System Application Server 实例的 server.xml 文件中为应用程序设置的值是同一个值。

    disable-timeout-in-minutes 属性被设置为 60。也就是说如果禁用应用程序,将会为服务器留出 60 分钟的应用程序停顿时间,以使其完成响应所有未处理的应用程序请求。之前我们设置了实例级的 disable-timeout-in-minutes 属性,它可以控制服务器实例的停顿时间。

  4. 保存所做的更改。

此时 loadbalancer.xml 文件应类似于以下文件:

代码示例 4-1 样例应用程序经配置的 loadbalancer.xml 文件

<!DOCTYPE loadbalancer PUBLIC "-//Sun Microsystems Inc.//DTD Sun Java System Application Server 7.0//EN" "sun-loadbalancer_1_0.dtd">

<loadbalancer>

  <cluster name="cluster1">

    <instance name="server1" enabled="true" disable-timeout-in-minutes="5" listeners="http://test.sun.com:81"/>

    <instance name="server2" enabled="true" disable-timeout-in-minutes="5" listeners="http://test.sun.com:82"/>

    <web-module context-root="clusterjsp" enabled="true" disable-timeout-in-minutes="60"/>

    <health-checker url="/" interval-in-seconds="10" timeout-in-seconds="30" />

  </cluster>

  <property name="reload-poll-interval-in-seconds" value="60"/>

  <property name="response-timeout-in-seconds" value="30"/>

  <property name="https-routing" value="true"/>

  <property name="require-monitor-data" value="true"/>

</loadbalancer>


应用配置更改并重新启动 Web 服务器

编辑完 loadbalancer.xml 文件之后,您需要启动 Web 服务器;如果 Web 服务器已经处于运行状态,则需要应用配置更改并重新启动 Web 服务器。

启动 Web 服务器的步骤:

  1. 转到 web_server_install_dir/https-instance_name
  2. 例如:

    /usr/iplanet/servers/https-test.sun.com

  3. 键入 ./start 启动服务器

可能需要同时启动 Web 服务器的管理服务器,管理服务器位于 web_server_install_dir/https-admin-serv。

将更改应用到处于运行状态的 Web 服务器并重新启动服务器的步骤:

  1. 在 Web 浏览器中键入相应的 URL 来访问 Web 服务器的服务器管理器。
  2. http://web_server:web_server_admin_port

    例如:

    http://test.sun.com:8888

  3. 从服务器管理器中选择所需的服务器,然后单击“管理”。
  4. 则将显示所选 Web 服务器实例的服务器管理器。

  5. 同时显示一则消息,警告您已经手动更改了配置文件,因此需要应用这些更改。
  6. 单击页面右上角的“应用”链接。
  7. 单击“应用更改”以应用所做的更改并重新启动服务器。

如果以后再更改 loadbalancer.xml 文件,就无需应用更改和重新启动服务器了。这时因为设置了重新装入轮询时间间隔,所以以后所做的所有更改都将被自动装入。有关详细信息,请参见使用重新装入轮询时间间隔来进行动态重新配置


运行应用程序

将应用程序部署到了所有实例中并更新了 loadbalancer.xml 文件之后,请在 Web 服务器上测试该应用程序以确保其正常工作。

  1. 通过浏览器访问以下 URL:
  2. http://host:web_server_port/clusterjsp

    例如:

    http://test.sun.com:80/clusterjsp

    您会看到此样例应用程序的页面。

    图 4-2 Cluster JSP 样例应用程序页面
    Web 服务器上提供了 Cluster JSP 样例应用程序页面

    页面顶部列出了服务器信息,以及唯一的“会话 ID”。如果您直接在应用服务器实例上访问此应用程序,则页面顶部的端口信息是应用服务器的信息。如果您通过 Web 服务器访问群集的应用程序,则端口信息是 Web 服务器的信息。

  3. 输入会话属性的名称和值,然后单击“添加会话数据”。
  4. 则页面上将显示输入的会话数据。

    图 4-3 在 Cluster JSP 中显示的会话数据
    具有 HTTP 会话数据的 Cluster JSP 样例应用程序

    请注意页面顶部的“会话 ID”。如果输入了会话属性并在会话超时前单击了“添加会话数据”,则页面顶部的“会话 ID”将与第一次访问应用程序时相同。

    在上一个示例中,“会话 ID d8bf64b4dd0146c7ff47b943cf52”在两种情况下就是相同的。

    但如果会话超时,“会话 ID”将会不同。

  5. 输入新的会话属性名称和值。如果会话尚未超时,所有属性都会在“从 HTTP 会话中检索到的数据”区域中列出。
  6. 例如,如果在会话超时之前输入会话属性数据两次以上,则会显示类似于以下页面的页面。

    图 4-4 具有多个 HTTP 会话属性的 Cluster JSP 样例应用程序
    具有多个 HTTP 会话属性的 Cluster JSP 样例应用程序

  7. 如果等到会话超时(1800 秒)以后再输入新的会话属性数据,则只显示最新输入的数据,并且页面顶部会显示新的会话 ID。
  8. 您也可以单击“清除会话”来模拟超时,这样会清除输入的会话数据,并为您提供一个新的会话 ID。

    图 4-5 具有新的 HTTP 会话信息的 Clustr JSP
    具有新的会话信息的 Cluster JSP 样例应用程序

请注意页面顶部将显示一个新的会话 ID(本例中为“d8ca7921435686ffffffff996dc3bbf9c5489”),并且“从 HTTP 会话中检索到的数据”部分仅显示最新输入的信息(本例中为“test4=4”)。


验证 HTTP 负载平衡

由于已经运行了样例应用程序,并且熟悉了会话信息的显示方式,因此您就可以验证负载平衡器是否处于工作状态。否则的话,您可以对负载平衡器进行错误诊断。

本部分包括以下主题:

验证负载平衡的步骤

要验证负载平衡器是否处于工作状态,可执行以下操作步骤。

  1. 打开两个单独的浏览器,然后键入 http://web_server_name:web_server_port/clusterjsp,以从 Web 服务器运行应用程序。例如:
  2. http://test.sun.com:80/clusterjsp

    由于使用负载平衡器时会话数据是粘性的,因此打开一个浏览器窗口访问应用程序时,该浏览器中所有的重新装入操作或其它操作均被认为处在同一会话中,并由一个 Sun Java System Application Server 实例来提供服务。

    要验证应用程序的负载平衡是否处于工作状态,请再打开一个浏览器访问应用程序。由于会话数据保存在 cookie 中,因此您必须在另一台计算机上再打开一个浏览器,或者在同一台计算机上使用不同的浏览器软件。检查“会话 ID”以确保两个浏览器窗口有各自的会话数据。

  3. 在两个单独的会话窗口中访问完了应用程序之后,请打开另一个浏览器窗口,查看 Web 服务器错误日志。
    1. 使用 Web 服务器文档中提供的 URL 访问 Sun Java System Web Server 的管理服务器,例如:
    2. http://test.sun.com:8888

    3. 选择所需的 Web 服务器实例,然后单击“管理”。
    4. 在所选 Web 服务器实例的服务器管理器中,单击“日志”选项卡。
    5. 在左侧的窗格中,单击“查看错误日志”。
  4. 从错误日志中查找带有 RequestExit 的条目。
  5. 你可以直观地进行查找,也可以在“仅显示符合以下条件的项”字段中输入 RequestExit。

  6. 带有 RequestExit 的条目应同时显示两个 Sun Java System Application Server 实例的 HTTP 侦听程序 ID,这样您就可以看到两个应用服务器实例都在响应请求。
  7. 要验证 Sun Java System Application Server 实例已响应请求,请检查每个应用服务器实例的 HTTP 访问日志。
  8. 您应该会看到对 clusterjsp 应用程序发出的请求。有关检查访问日志的详细信息,请参见使用管理界面查看日志


    必须对 Web 服务器启用了冗余日志功能,才能查看 RequestExit 信息。相关说明请参见启用负载平衡器的监视功能


如果您在使用负载平衡器时遇到困难,请参阅下面的部分,该部分包含了有关对负载平衡器插件进行错误诊断的内容。

对负载平衡器插件进行错误诊断

使用下表可以帮助您对负载平衡进行错误诊断。左侧列说明出现的情况,中间列是可能导致问题的原因,右侧列是解决办法。

表 4-3 对负载平衡进行错误诊断

出现的情况

可能原因

解决办法

尝试访问应用程序时连接失败

未启动 Web 服务器

在 URL 中指定了错误的端口。

确保已启动了 Web 服务器。

确定正确的 Web 服务器端口号。

请参阅 Web 服务器文档以获得详细信息。

访问应用程序时出现 404 错误

未部署应用程序。

loadbalancer.xml 文件中有错误

请参见将 Cluster JSP 样例应用程序部署到群集中

Web 服务器错误日志中会记录 loadbalancer.xml 文件中的错误。有关详细信息,请参见查找 loadbalancer.xml 文件中的错误

访问应用程序时显示错误页面

群集中有一台或多台服务器未响应。

确保群集中的服务器实例处于运行状态。

检查错误日志以查看运行状况检查器是否已找到运行异常的实例。有关详细信息,请参见使用运行状况检查器

查找 loadbalancer.xml 文件中的错误

如果无法通过 Web 服务器 URL 访问到样例应用程序,可能是负载平衡器出了问题。这时,如果可以通过个别应用服务器访问到应用程序,就可以确定应用服务器实例没有问题。

由于负载平衡器插件会将信息记录到 Web 服务器日志文件中,因此您应该查看 Web 服务器错误日志文件以获得详细信息。

您可以通过服务器管理器查看 Sun Java System Web Server 的错误日志:

  1. 使用 Web 服务器文档中提供的 URL 访问 Sun Java System Web Server 的管理服务器,例如:
  2. http://test.sun.com:8888

  3. 选择所需的 Web 服务器实例,然后单击“管理”。
  4. 在所选 Web 服务器实例的服务器管理器中,单击“日志”选项卡。
  5. 在左侧的窗格中,单击“查看错误日志”。
  6. 默认视图显示 25 条信息;您可以根据需要增加显示信息的数目。

如果是负载平衡器出现了问题,您会看到包含“初始化负载平衡子系统失败”内容的信息。

如果是 loadbalancer.xml 文件有错误,您会看到解析器错误,它指向 loadbalancer.xml 文件中有错误的行。例如,您可能会看到与下面类似的信息:

[17/Jun/2003:09:57:44] catastrophe ( 5643): LBConfigParser.cpp@434: 报告:lb.configurator: CNFG1000: 正在解析文件 :/usr/iplanet/servers/https-test.sun.com/config/loadbalancer.xml

第 7 行和第 3 列出错。错误消息为:内容模型不允许使用任何字符数据。

此信息指向 loadbalancer.xml 文件中有错误的行。

请在 loadbalancer.xml 文件中更正错误,应用更改并重新启动 Web 服务器,然后重试。

使用运行状况检查器

如果负载平衡器运行正常,并且已将 Web 服务器的 LogVerbose 设置为 on,则会在 Web 服务器的日志文件中看到运行状况检查器处于工作状态:

[09/Apr/2003:13:36:02] verbose ( 7576): HealthChecker.cpp@153: 报告:lb.monitor: HLCK1006: 运行异常的实例 cluster1 1049920562631 无运行异常的实例

有关启用冗余日志功能的说明,请参见启用负载平衡器的监视功能

无论是否使用冗余日志,只要有一个实例出现异常,负载平衡器就会在访问失败时将该实例标记为运行异常。如果该实例仍处于异常状况,则运行状况检查器会再次将其标记为运行异常。

例如:

[17/Jun/2003:10:37:27] 警告 ( 5700): 报告:lb.runtime: RNTM2024: 守护程序 http://test.sun.com:81 运行异常。

[17/Jun/2003:10:37:27] 警告 ( 5700): 报告:lb.healthchecker: HLCK3003: 检测到群集 cluster1 中的侦听程序 http://test.sun.com:81 仍处于异常状况

运行状况检查器将继续监视运行异常的实例,并在该实例运行正常后立即再将其标记为运行正常。


验证 HTTP 会话持久性

验证了负载平衡工作正常之后,就可以验证 HTTP 会话持久性了。在会话持久性作用期间,如果有一个 Sun Java System Application Server 实例由于某些原因而导致失败,则下一个实例将拾取该会话并处理其请求。


会话持久性不在群集之间起作用,而仅在一个群集中的实例之间起作用。


验证 HTTP 会话持久性在发挥作用的步骤:

  1. 打开一个浏览器窗口。
  2. 从 Web 服务器访问应用程序。例如:
  3. http://test.sun.com:80/clusterjsp

  4. 查看 Web 服务器错误日志,找到响应此请求的服务器(再次查找带有 RequestExit 的条目)。
  5. 关闭提供此页面的 Sun Java System Application Server 实例。
  6. 您可以使用管理界面将其关闭:

    1. 使用管理端口号来访问管理页面,例如:
    2. http://test.sun.com:4848

    3. 在左侧的窗格中,单击要停止的服务器实例。
    4. 在右侧的窗格中单击“停止”。
  7. 重新装入 Cluster JSP 样例应用程序页面。
  8. 会话 ID 和会话属性数据被保留。

  9. 查看 Web 服务器错误日志。可以注意到另外一个 Application Server 的实例正在响应此请求。

服务器脱机后将保存会话信息。如果在应用程序传输数据时发生故障,可能会导致会话数据的丢失,这是唯一可能导致数据丢失的情况。在这种情况下,您可能会看到稍早一些的会话数据。


停顿服务器实例

在现实环境中,用户不会在未完成现有会话的情况下关闭服务器。相反地,用户会分阶段关闭服务器,这个过程称为停顿。

请按以下步骤停顿应用服务器实例:

  1. 打开一个浏览器窗口,并通过 Web 服务器端口访问 Cluster JSP 应用程序。使此窗口保持打开状态。
  2. 确定正在响应此请求的应用服务器实例。
  3. 打开另一个浏览器窗口,并在管理界面中访问 server1 应用服务器实例的 HTTP 访问日志。在日志中查找当您发出请求时 Cluster JSP 应用程序的访问记录。如果在 server1 的日志中看到访问记录,则说明 server1 应用服务器实例正在响应此请求。如果没有在访问日志中看到这样的条目,则请查看 server2 应用服务器实例的访问日志。使访问日志窗口保持打开状态。

  4. 验证了正在响应此请求的应用服务器实例之后,请在 loadbalancer.xml 文件中禁用该服务器实例。
  5. 将相应服务器实例的 enabled="true" 改为 enabled="false"。例如:

    <instance name="server1" enabled="false" disable-timeout-in-minutes="5" listeners="http://test.sun.com:81"/>

  6. 保存对 loadbalancer.xml 文件所做的更改。
  7. 等到重新装入轮询时间间隔过后,将装入新的配置。
  8. 本教程中的重新装入轮询时间间隔为 60 秒,即只需等待一分钟。

  9. 一旦重新装入轮询时间间隔已过,并装入了新的配置,负载平衡器插件就不再将不包含现有对话的请求发送到该服务器实例了。但是在停顿期间,带有现有会话的请求仍然会被发送到该服务器实例。
  10. 要查看此情况,请在打开的 Cluster JSP 窗口中输入名称和属性信息,然后单击“添加会话数据”

  11. 转到一个浏览器窗口,该窗口显示了响应初始请求的服务器的 HTTP 访问日志。单击“确定”刷新信息。
  12. 请注意,尽管该服务器在 loadbalancer.xml 文件中被禁用,但它仍然在响应此请求。

  13. 请等待五分钟,等到停顿时间结束后,在打开的 Cluster JSP 应用程序窗口中输入其它名称属性信息并单击“添加会话数据”。
  14. 服务器实例的禁用超时(以分钟为单位)控制着停顿时间。在本教程前面的部分,我们将禁用超时设置为五分钟。

  15. 由于停顿时间已过,因此请求将被发送到其它应用服务器实例。
  16. 要查看此结果,请刷新服务器实例的 HTTP 访问日志。您会看到没有任何新请求。

  17. 打开第三个浏览器窗口,查看其它服务器实例的 HTTP 访问日志。您会看到下一个服务器实例正在响应此 Cluster JSP 请求。

然后,您就可以安全地关闭此应用服务器实例了。

您也可以停顿应用程序以使其安全脱机。有关应用服务器实例和应用程序的停顿的详细信息,请参阅 Sun Java System Application Server Administration Guide



上一个      目录      索引      下一个     


版权所有 2004 Sun Microsystems, Inc. 保留所有权利。