Sun Java System Web Server 7.0 管理员指南

配置服务器生命周期模块

Java Server 生命周期模块是用于侦听服务器生命周期事件的 Java 类,以便在发生服务器事件(如启动或停止)时执行特定任务。

服务器支持在 Web 服务器环境中运行短时间或长时间的基于 Java 的任务。这些任务在服务器启动时自动启动,并在服务器关闭时收到通知。因此,现在您可以立即得知诸如实例化 singleton 和 RMI 服务器等任务。

服务器生命周期的简短说明如下。

服务器生命周期介绍

Procedure添加生命周期模块

  1. 选择配置。

    从配置列表中选择相应的配置。要查看配置列表,请单击“配置”选项卡。

  2. 单击 "Java" >“生命周期模块”选项卡。

  3. 单击“新建”按钮。

    提供以下参数的值:

    • 名称-为新的生命周期模块提供一个有效的唯一名称。

    • 已启用-如果要启用该生命周期模块,请使用此选项。

    • 类名称-全限定 Java 类名称。该类应实现 com.sun.appserv.server.LifecycleListener 接口。有关使用此接口的更多信息,请参见开发者指南

    • 类路径-可选。您可以指定侦听器类的类路径。

    • 加载顺序-大于 100。加载生命周期事件侦听器的顺序(按照数值顺序)。建议选择一个大于或等于 100 的加载顺序,以避免与内部生命周期模块发生冲突。

    • 装入失败时-如果启用该选项,服务器将不会把侦听器类抛出的异常视为致命错误,因此可继续执行正常启动。默认情况下,禁用该选项。

    • 说明-提供有关生命周期模块的简短说明。

    • 属性-属性可用于将参数传送给 Java 生命周期模块。要添加新属性,请单击“添加属性”按钮并在名称、值和说明字段中输入相应的文本。


    注意 – 注意 –

    服务器生命周期侦听器类是从主服务器线程同步调用的,因此必须采取额外的预防措施以避免这些侦听器类阻塞服务器。如果合适,这些侦听器类可创建线程,但是必须在关闭/终止阶段时停止这些线程。


Procedure删除生命周期模块

  1. 选择配置。

    从配置列表中选择相应的配置。要查看配置列表,请单击“配置”选项卡。

  2. 单击 "Java" >“生命周期模块”选项卡。

  3. 选择生命周期模块,然后单击“删除生命周期模块”按钮。


    注 –

    使用 CLI

    以下示例说明了如何为由类 com.MyLifecycleModule 实现的配置 test 创建名为 myLifecycleModule 的 Java 生命周期模块。


    wadm> create-lifecycle-module --user=admin --password-file=admin.pwd 
    --host=serverhost --port=8989 --config=config1 
    --class=com.sun.webserver.tests.LifecycleClass LifecycleTest

    请参见 CLI 参考 create-lifecycle-module(1)

    要列出 Java 生命周期模块,请执行以下命令:


    wadm> list-lifecycle-modules --config=test

    请参见 CLI 参考 list-lifecycle-modules(1)

    要向 Java 生命周期模块中添加属性,请执行以下命令:


    wadm> create-lifecycle-module-userprop --user=admin --password-file=admin.pwd 
    --host=serverhost --port=8989 --config=config1 --module=LifecycleTest info=Testing

    请参见 CLI 参考 create-lifecycle-module-userprop(1)

    要修改 Java 生命周期模块属性,请执行以下命令:


    wadm> set-lifecycle-module-prop --user=admin --password-file=admin.pwd 
    --host=serverhost --port=8989 --config=config1 --module=LifecycleTest 
    class-path=/space 

    请参见 CLI 参考 set-lifecycle-module-prop(1)