本节介绍为选定配置编辑与 Java 相关的设置所包含的步骤。请参见以下链接:
本节介绍如何为选定的配置启用 Java 并设置 Java 主目录变量。
编辑常规 Java 设置
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取可用配置的列表。
单击 "Java" >“常规”选项卡。
下表介绍了配置常规 Java 设置时的可用参数。
表 23 字段说明 > 常规 Java 设置
字段 | 描述 |
|---|---|
启用 Java | 为配置启用/禁用 Java 支持。启用 Java 可使服务器生成必需的 JVM。 |
Java 主目录 | Java SE 的位置。指定绝对路径或相对于服务器的 config 目录的路径。此目录必须归服务器运行时所使用的帐户所有。 |
粘性附加 | 服务器是否将每个 HTTP 请求处理线程仅附加至 JVM 一次(否则,服务器会在每个请求上附加/拆离 HTTP 请求处理线程)。 |
本节介绍如何为选定的配置添加 JVM 类路径。
编辑路径设置
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取可用配置的列表。
单击 "Java" >“常规”选项卡。转至“路径设置”部分。
下表介绍了修改配置的 JVM 路径设置时的可用参数。
表 24 字段说明 > 路径设置
字段 | 描述 |
|---|---|
忽略环境类路径 | 默认情况下,启用该字段。 |
类路径前缀 | 系统类路径的前缀。仅当要覆盖系统类(例如,XML 解析器类),才能在系统类路径前添加前缀。使用该属性时请慎重。 |
服务器类路径 | 包含服务器类的类路径。只读字段。 |
类路径后缀 | 系统类路径的后缀。 |
本地库路径的前缀 | 操作系统本地库路径的前缀。 |
字节码预处理程序类 | 指定字节码预处理程序类。 运行时类程序设备通常会通过预处理机制来执行,方法是在 JVM 加载分析和监视工具之前,使用类预处理程序在 Java 类中所需的位置插入程序设备代码。为此,应将类预处理程序与类加载器配合使用。 |
要在管理界面中设置 JVM 命令行选项,请执行以下任务:
编辑 JVM 设置
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取列表。
单击 "Java" >“JVM 设置”选项卡。
通过指定此处相应的值可以添加/删除命令行 JVM 选项。单击“添加 JVM 选项”按钮以添加 JVM 选项。
JVM 选项的一些示例如下: -Djava.security.auth.login.config=login.conf, -Djava.util.logging.manager=com.iplanet.ias.server.logging. ServerLogManager and -Xms128m -Xmx256m
JVM 事件探查器可帮助您诊断和解决 Java 应用程序中的性能问题、内存泄漏、多线程问题和系统资源使用问题,以确保您的应用程序获得最高级别的稳定性和可伸缩性。
您可以使用事件探查器在 Sun Java System Web Server 上执行远程事件探查,以查找服务器端性能方面的瓶颈。
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取可用配置的列表。
单击 "Java" >“JVM 设置”选项卡。
单击“事件探查器”部分下的“新建”按钮。
提供以下参数的值:
名称-提供新 JVM 事件探查器的简短名称。
已启用-确定是否在运行时启用事件探查器。
类路径-提供有效的事件探查器类路径。(可选)。
本地库路径-提供有效的本地库路径。(可选)。
JVM 选项-您可以为 CLI 指定其他 JVM 选项。
例如, —Xrunhprof:file=log.txt,options
HPROF 是 Java 2 SE 出厂随附的简单事件探测器代理。它是可以与 JVMPI(Java Virtual Machine Profiler Interface,Java 虚拟机事件探查器界面)交互操作的动态连接库, 并会将事件探查信息以 ASCII 或二进制格式写入文件或套接字中。这些信息可以通过事件探查器前端工具进行进一步处理。
有关各种商业事件探查器及其选项的更多信息,请参见《Sun Java System Web Server 7.0 Developer's Guide to Java Web Applications》。
JVM 可以在调试模式下启动,并可以附加 JPDA(Java Platform Debugger Architecture,Java 平台调试器体系结构)调试器。启用调试时,您可同时启用本地调试和远程调试。
Sun Java System Web Server 的调试功能以 JPDA 软件为基础。要启用调试,请执行以下步骤。
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取可用配置的列表。
单击 "Java" >“JVM 设置”选项卡。
选中“调试 Java 设置”下的“启用调试”复选框。
如有必要,可通过单击“新建”按钮来提供 JVM 选项。
默认 JPDA 选项如下:
-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7.0896 |
如果您替换 suspend=y,则 JVM 将以暂停模式启动,并在调试器附加到其之前一直处于暂停状态。如果您希望 JVM 启动后立即启动调试,则该操作非常有用。要指定将 JVM 附加到调试器时要使用的端口,请指定 address=port_number。请查阅 JPDA 文档,以获得调试选项的列表。
使用此页面可以配置和管理 JDBC、邮件、JNDI 和其他基于 Java 的资源。
Web 应用程序可以访问多种资源,例如资源管理器、数据源(如 SQL 数据源)、邮件会话和 URL 连接工厂。J2EE 平台通过 Java 命名和目录接口 (Java Naming and Directory Interface, JNDI) 服务将这些资源提供给应用程序。
Sun Java System Web Server 允许您创建和管理以下 Java EE 资源:
JDBC 数据源。
JDBC 连接池。
Java 邮件会话。
自定义资源。
外部 JNDI 资源。
JDBC 数据源是一种 Java EE 资源,可以通过 Sun Java System Web Server 进行创建和管理。
JDBC API 是用于连接关系数据库系统的 API。JDBC API 包含两部分:
一个应用程序级接口,应用程序组件使用它来访问数据库。
一个服务提供商接口,用于将 JDBC 驱动程序连接到 Java EE 平台。
JDBC 数据源对象是用 Java 编程语言实现的数据源。从本质上讲,数据源是一种存储数据的工具。数据源可能像大型公司的综合数据库一样复杂,也可能像仅包含行和列的文件一样简单。JDBC 数据源是一种 Java EE 资源,可以使用 Sun Java System Web Server 进行创建和管理。
JDBC API 使用标准的 SQL 数据库访问接口为 Java 提供了一组类,可以确保对多种关系数据库的统一访问。
事实上,使用 JDBC 可以将 SQL 语句发送到任何数据库管理系统 (database management system, DBMS)。它可以用作关系 DBMS 和对象 DBMS 的接口。
下表提供了常用 JDBC 驱动程序及其在添加新 JDBC 资源时需要配置的属性。请参见添加 JDBC 资源。
注 – 以下列表仅是所有受支持的 JDBC 驱动程序的一个子集。
表 25 常用和受支持的 JDBC 驱动程序列表
驱动程序 | 类名 | 属性 |
|---|---|---|
Oracle 驱动程序 | oracle.jdbc.pool.OracleDataSource |
|
Oracle SJS JDBC 驱动程序 | com.sun.sql.jdbcx.oracle. OracleDataSource |
|
DB2 IBM 驱动程序 | com.ibm.db2.jdbc.DB2DataSource |
|
DB2 SJS JDBC 驱动程序 | com.sun.sql.jdbcx.db2. DB2DataSource |
|
MS SQLServer 驱动程序 | com.ddtek.jdbcx.sqlserver. SQLServerDataSource |
|
MS SJS JDBC 驱动程序 | com.sun.sql.jdbcx.sqlserver. SQLServerDataSource |
|
Sybase 驱动程序 | com.sybase.jdbcx.SybDataSource |
|
Sybase SJS JDBC 驱动程序 | com.sun.sql.jdbcx.sybase. SybaseDataSource |
|
MySQL MM 驱动程序 | org.gjt.mm.mysql.jdbc2.optional. MysqlDataSource |
|
Informix 驱动程序 | com.informix.jdbcx.IfxDataSource |
|
Informix SJS JDBC 驱动程序 | com.sun.sql.jdbcx.informix. InformixDataSource |
|
PostgreSQL 驱动程序 | org.postgresql.ds. PGSimpleDataSource |
|
Apache Derby 驱动程序 | org.apache.derby.jdbc. EmbeddedDataSource |
|
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取列表。
单击 "Java" >“资源”选项卡。
在“JDBC 资源”部分下,单击“新建”按钮。
选择驱动程序提供商。
为 JNDI 名称指定一个唯一的值并从可用列表中选择 JDBC 驱动程序供应商。
提供 JDBC 资源属性。
根据上一步中选择的 JDBC 驱动程序供应商,系统将会自动填充驱动程序的类名称和 JDBC 资源属性。有关建议的某些常用 JDBC 驱动程序的属性列表,请参见常用 JDBC 驱动程序。
查看摘要。
查看摘要并单击“完成”以创建新的 JDBC 资源。
您可以使用此选项向配置实例注册自定义资源。
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取列表。
单击 "Java" >“资源”选项卡。
在“自定义资源”部分下,单击“新建”按钮。
下表介绍了用于创建自定义资源的可用属性。
表 26 字段说明 > 自定义资源
字段 | 描述 |
|---|---|
JNDI 名称 | 为自定义资源提供一个唯一的 JNDI 名称。 |
自定义资源 | 确定是否在运行时启用 JDBC 资源。 |
资源类型 | 该资源的全限定类型。 |
工厂类 | 实例化此类资源的类。用户编写的工厂类(用于实现 javax.naming.spi.ObjectFactory)的全限定名称。 |
描述 | 提供自定义资源的简短说明。 |
属性 | 通过单击“添加属性”按钮可以有选择地提供 CLI 属性。 |
使用该选项可以创建外部 Java 命名和目录接口 (Java Naming and Directory Interface, JNDI) 资源。您需要一个外部 JNDI 资源以访问存储在内部 JNDI 系统信息库中的资源。
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取列表。
单击 "Java" >“资源”选项卡。
在“外部 JNDI 资源”部分下,单击“新建”按钮。
下表介绍了添加新外部 JNDI 资源时的可用属性。
表 27 字段说明 > 外部 JNDI 资源
字段 | 描述 |
|---|---|
JNDI 名称 | 提供新的外部 JNDI 资源的唯一名称。 |
外部 JNDI 资源 | 确定是否在运行时启用外部 JNDI 资源。 |
外部 JNDI 名称 | 外部 JNDI 资源的名称。 |
资源类型 | 该资源的全限定类型。 |
工厂类 | 实例化此类资源的类。 |
描述 | 提供自定义资源的简短说明。 |
属性 | 通过单击“添加属性”按钮可以有选择地提供 CLI 属性。 |
JMS 目标是 Java EE 资源,可以通过 Sun Java System Web Server 进行创建和管理。
许多 Internet 应用程序都需要具有发送电子邮件通知的能力,因此,Java EE 平台提供了 JavaMail API 以及一个使应用程序组件可以发送 Internet 邮件的 JavaMail 服务提供商。
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取列表。
单击 "Java" >“资源”选项卡。
在“邮件资源”部分下,单击“新建”按钮。
下表介绍了添加新邮件资源时的可用属性。
表 28 字段说明 > 邮件资源属性
字段 | 描述 |
|---|---|
JNDI 名称 | 为新的邮件资源提供一个唯一的名称。 |
邮件资源 | 确定是否在运行时启用该邮件资源。 |
属性 | 为所有必需属性(如 mail.host、mail.from 和 mail.user)提供值。 |
描述 | 提供新建邮件资源的简短说明。 |
初始化-此阶段包括读取配置、初始化内置子系统;命名、安全性和日志记录服务;以及创建 Web 容器。
启动-此阶段包括加载和初始化部署的应用程序。
服务-服务器已就绪,可以处理请求。
关闭-此阶段将停止和销毁加载的应用程序。系统准备关闭。
终止-此阶段将终止内置子系统和服务器运行时环境。此阶段后将不会再有任何活动。
重新配置-服务器瞬态,服务器线程在此状态下进行动态重新配置(此时服务器处于服务状态)。此阶段在服务器生命周期中可出现多次。
选择配置。
从配置列表中选择相应的配置。要查看配置列表,请单击“配置”选项卡。
单击 "Java" >“生命周期模块”选项卡。
单击“新建”按钮。
提供以下参数的值:
名称-为新的生命周期模块提供一个有效的唯一名称。
已启用-如果要启用该生命周期模块,请使用此选项。
类名称-全限定 Java 类名称。此类应可实现 LifecycleListener 接口。有关使用此接口的更多信息,请参见开发者指南。
类路径-可选。您可以为侦听器类指定类路径。
加载顺序 — > 100。生命周期事件侦听器的加载顺序(以数字顺序表示)。建议选择一个大于或等于 100 的加载顺序,以避免与内部生命周期模块发生冲突。
装入失败时-如果启用该选项,服务器将不会把侦听器类抛出的异常视为致命错误,因此可继续执行正常启动。默认情况下,禁用该选项。
说明-提供有关生命周期模块的简短说明。
属性-属性可用于将参数传送给 Java 生命周期模块。要添加新属性,请单击“添加属性”按钮并在名称、值和说明字段中输入相应的文本。
注意 – 服务器生命周期侦听器类是从主服务器线程同步调用的,因此必须采取额外的预防措施以避免这些侦听器类阻塞服务器。如果合适,这些侦听器类可创建线程,但是必须在关闭/终止阶段时停止这些线程。
选择配置。
从配置列表中选择相应的配置。要查看配置列表,请单击“配置”选项卡。
单击 "Java" >“生命周期模块”选项卡。
选择生命周期模块,然后单击“删除生命周期模块”按钮。
Java Server 生命周期模块是用于侦听服务器生命周期事件的 Java 类,以便在发生服务器事件(如启动或停止)时执行特定任务。
服务器支持在 Web 服务器环境中运行短时间或长时间的基于 Java 的任务。这些任务在服务器启动时自动启动,并在服务器关闭时收到通知。因此,现在您可以立即得知诸如实例化 singleton、RMI 服务器等任务。
服务器生命周期的简短说明如下:
您可以在此页中添加和删除验证领域。基于 Java EE 的安全模型提供了可识别和验证用户的安全领域。
验证进程通过 Java 领域验证用户。领域包括一组用户、可选的组映射以及可用来对验证请求进行验证的验证逻辑。验证请求通过已配置的领域验证并建立安全性上下文后,便可将该身份应用于所有后续的授权决策。
Java 领域与 auth-db(验证数据库)类似,不同的是, auth-db 由 ACL 引擎(基于您的 ACL 文件的规则)使用,而 Java 领域由 Java Servlet 访问控制规则(在每个 Web 应用程序的 web.xml 中指定的)使用。
服务器实例可能具有多种配置领域。server.xml 文件的 auth-realm 元素中提供了配置信息。
下表定义了 Sun Java System Web Server 7.0 支持的不同领域类型。
表 29 领域类型
领域 | 描述 |
|---|---|
File | file 领域是首次安装 Sun Java System Web Server 时的默认领域。该领域的设置非常简便,为开发者提供了很大方便。 file 领域使用存储在文本文件中的用户数据来验证用户。 注意,与文件 auth-db 不同,Java 领域仅支持 keyfile 一种文件格式。此领域支持的 keyfile 格式与文件 auth-db keyfile 兼容(并且两种格式可能涉及相同的磁盘文件)。 |
LDAP | ldap 领域使您可以使用 LDAP 数据库获取用户安全性信息。LDAP 目录服务是带有唯一标识符的属性的集合。ldap 领域非常适合部署到生产系统中。 要使用 ldap 领域验证用户,必须在 LDAP 目录中创建所需的用户。您可以通过 Administration Server 的“用户和组”选项卡来执行此操作。请参见编辑用户和组。您还可以通过 LDAP 目录产品的用户管理控制台来执行此操作。 |
PAM | PAM(也称为 Solaris)领域将验证委派给 Solaris PAM 堆栈。与 PAM auth-db 一样,该领域仅在 Solaris 9 和 Solaris 10 上受支持,并且必须以超级用户身份运行服务器实例。 |
Certificate | certificate 领域支持 SSL 验证。Certificate 领域在 Sun Java System Web Server 的安全性上下文中设置用户身份,并将客户机证书的用户数据填入其中。然后,Java EE 容器将基于证书中每个用户的 DN 处理授权进程。此领域会通过 X.509 证书,以 SSL 或 TLS 客户机验证来验证用户。 |
Native | native 领域是一个特殊的领域,它为基于 ACL 的核心验证模型和 Java EE/Servlet 验证模型提供了联系桥梁。通过将 Native 领域用于 Java Web 应用程序,可以让 ACL 子系统执行验证(而不是让 Java Web 容器执行),并且使此身份可以用于 Java Web 应用程序。 调用验证操作时,Native 领域会将此验证委派给核心验证子系统。从用户的角度来看,这实际上相当于 LDAP 领域将验证委派给已配置的 LDAP 服务器。当 Native 领域处理组成员关系查询时,它们同时也被委派给核心验证子系统。对于 Java Web 模块和开发者而言,Native 领域与其他任何可用于 Web 模块的 Java 领域没有任何区别。 |
自定义 | 定义您自己的验证领域。提供用于实现可插接式 servlet 容器验证领域的类。 |
下节介绍添加新验证领域所包含的步骤。
添加验证领域
选择配置。
选择需要添加新验证领域的配置。单击“配置”选项卡并选择相应的配置。
单击 "Java" >“验证”选项卡。
在“Servlet 验证”下单击“新建”。
提供领域详细信息。
名称-输入领域的简短名称。该名称用于从文件(例如,web.xml)中引用领域。
类 — 如果您要配置自定义领域,则输入完整的 Java 类名称可以实现自定义领域。无需输入任何内置领域的类。
类型-选择领域的类型。请参见表 29
属性-添加特定于领域的属性。例如,property name="file" value="instance_dir/config/keyfile" 和 property name="jaas-context" value="fileRealm。
每个验证领域均需要添加必需的属性。下表中列出了某些必需的属性:
表 30 验证领域必需的属性
验证领域 | 属性 |
|---|---|
File |
|
LDAP |
|
PAM | NA |
Certificate |
|
Native |
|
本节介绍配置 servlet 容器的过程。
编辑 Servlet 容器设置
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取列表。
单击 "Java" >“Servlet 容器”。
下表介绍 servlet 容器页面中的可用参数。
表 31 字段说明 > Servlet 容器
字段 | 描述 |
|---|---|
日志级别 | servlet 容器的日志详尽程度。值可以为 finest(最详尽)、finer、fine、info、warning、failure、config、security 或 catastrophe(最不详尽)。 |
动态重新加载时间间隔 | 此参数定义了一个时间段,经过此时间段后,服务器就会检查已部署的 Web 应用程序是否发生了修改。值的范围从 1 至 60,或者如果禁用动态重新加载,则为 -1。 |
匿名角色 | 分配给所有主体的默认角色或匿名角色的名称。默认角色为 ANYONE。 |
Servlet 池大小 | 实例化每个 SingleThreadedServlet 的 servlet 实例数。值的范围从 1 至 4096。 |
分发程序最大深度 | 允许嵌套请求分发的 Servlet 容器的最大深度。值的范围可介于 0 至 214704836470 之间。默认值为 20。 |
允许交叉上下文 | 是否允许请求分发程序向其他上下文分发。默认值为 false。 |
编码 Cookie | servlet 容器是否对 cookie 值进行编码。默认值为 true。 |
显示异常 | 在浏览器中显示异常。此选项仅用于开发环境。确保在生产环境中禁用此选项。 |
解码 Cookie 值中的 '+'。 | 将 Cookie 值中的加号字符解码为空格。 |
重复使用会话 ID | 为该客户机创建新会话时是否重复使用任何现有会话 ID 编号。默认值为 false。 |
安全会话 Cookie | 此参数控制在什么条件下将 JSESSIONID cookie 标记为安全。仅当使用安全连接 (HTTPS) 收到请求时,才使用 "dynamic"(默认设置)将 Cookie 标记为安全。使用 true 可始终将其标记为安全,使用 false 可从不将其标记为安全。 |
本节介绍为选定的配置设置会话复制属性的步骤。
编辑会话复制设置
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取列表。
单击 "Java" >“会话复制”。
下表介绍会话复制页面中的可用参数。
表 32 字段说明 > 会话复制
字段 | 描述 |
|---|---|
端口 | Administration Server 侦听的端口号。默认端口为 8888。 |
已启用 | 为选定配置启用会话复制。 |
加密 | 复制之前是否加密会话数据。默认值为 false。 |
密码 | 群集成员用于相互验证的共享密码。 |
异步 | 是否允许会话复制与 HTTP 请求/响应处理异步进行。默认值为 true。 |
Getatrribute 触发复制 | 对 HttpSession.getAttribute 方法的调用是否应导致对会话进行备份。默认值为 true。 |
副本搜索最大转发数 | 尝试查找会话备份时应联系的最大实例数。值的范围介于 1 至 214704836470 之间,或为 -1 表示无限制。 |
启动搜索超时 | 实例尝试联系其指定的备份实例所花费的最长时间(以秒为单位)。值的范围从 0.001 至 3600。 |
Cookie 名称 | 输入跟踪哪个实例拥有会话的 cookie 名称。 |
容器规范的 Java 验证服务提供商接口定义了一种标准的服务提供商接口,通过该接口可将验证机制提供商与容器进行集成。您可以使用管理控制台添加新的 SOAP 验证提供商。
添加 SOAP 验证提供者
选择配置。
从配置列表中选择相应的配置。单击“配置”选项卡以获取列表。
单击 "Java" >“验证”选项卡。
在“SOAP 验证”部分下面,单击“新建”按钮。
下表介绍了新建 SOAP 验证提供者页面中的可用参数。
表 33 字段说明 > SOAP 验证提供者
字段 | 描述 |
|---|---|
名称 | 输入新的 SOAP 验证提供商的简短名称。 |
类名 | 实现此提供商的类。实现 javax.security.auth.XXX 的类的全限定类名。 |
请求验证源 | 该属性定义邮件层的发件人验证(例如用户名/密码)或内容验证(例如应用于请求邮件的数字签名)要求。该值(验证策略)可为 sender 或 content。如果没有指定此参数,则不需要对请求进行源验证。 |
请求验证收件人 | 该属性定义在邮件层向邮件发件人验证邮件收件人的要求,例如,通过 XML 加密。值可以为 before-content 或 after-content。 |
响应验证源 | 该属性定义邮件层的发件人验证(例如用户名/密码)或内容验证(例如应用于响应邮件的数字签名)要求。该值(验证策略)可为 sender 或 content。如果没有指定此参数,则不需要对响应进行源验证。 |
响应验证收件人 | 该属性定义在邮件层向邮件发件人验证响应邮件收件人的要求,例如,通过 XML 加密。 |
属性 | 通过单击“添加属性”按钮可以提供其他 CLI 属性。 |