Application Server 在安装时将创建一个称为 server 的应用程序服务器实例。如果需要,可以删除此服务器实例,并创建一个其他名称的新实例。
每个 Application Server 实例都有自己的 J2EE 配置、J2EE 资源、应用程序部署区域和服务器配置设置。因此对一个应用程序服务器实例所做的更改不会影响其他应用程序服务器实例。一个管理域中可以包含多个应用程序服务器实例。
对于很多用户来说,一个应用程序服务器实例即可满足他们的需要。但是,根据用户环境的不同,可能需要创建一个或多个附加应用程序服务器实例。例如,在开发环境中,可以使用不同的应用程序服务器实例来测试不同的 Application Server 配置,或者比较和测试不同的应用程序部署。由于添加或删除应用程序服务器实例比较容易,因此在开发过程中可以使用这些实例创建临时的“沙箱”区来进行测试。
此外,还可以为每个应用程序服务器实例创建虚拟服务器。在一个已安装的应用程序服务器实例中,您可以提供公司或个人域名、IP 地址和某些管理功能。对于用户,就好比他们拥有自己的 Web 服务器,但无需进行硬件和基础服务器的维护。这些虚拟服务器不能跨应用程序服务器实例使用。有关虚拟服务器的更多信息,请参见配置 JVM 常规设置。
在操作部署中,很多情况下都可以使用虚拟服务器代替多个应用程序服务器实例。但是,如果虚拟服务器不能满足需求,您也可以使用多个应用程序服务器实例。
Application Server 实例不会自动启动。启动某个实例后,该实例将一直运行,直至您将其停止。停止应用程序服务器实例后,它将不再接受新的连接,只是等待未完成的连接完成。如果您的计算机崩溃或脱机,则服务器将退出,并且正在处理的所有请求都将丢失。
应用程序服务器实例构成了应用程序部署的基础。每个实例均属于一个域,并有自己的目录结构、配置和已部署的应用程序。每个服务器实例还包含了 J2EE 平台的 Web 和 EJB 容器。每个新的服务器实例必须包含对节点代理名称的引用,该名称定义实例将要驻留的计算机。
可以创建三种类型的服务器实例。每个服务器实例只能是其中的一种类型:
在独立服务器实例中,任何其他服务器实例或群集都不能共享其配置。
在共享服务器实例中,其他实例或群集可以共享其配置。
在群集服务器实例中,群集中的其他实例可以共享其配置。
群集是共享同一套应用程序、资源和配置信息的一组服务器实例。服务器实例只能属于一个群集。特别值得一提的是,使用群集可以通过在多台计算机上分发负载来促进负载平衡,并可以通过实例级别的故障转移来提供高可用性。
图 1–2 详细显示了一个应用程序服务器实例。应用程序服务器实例是 Application Server Enterprise Edition 的群集、负载平衡和会话持久性功能中的构建模块。
Application Server 实例不会自动启动。启动某个实例后,该实例将一直运行,直至您将其停止。停止应用程序服务器实例后,它将不再接受新的连接,只是等待未完成的连接完成。如果您的计算机崩溃或脱机,则服务器将退出,并且正在处理的所有请求都将丢失。
另请参见:
通过“常规”选项卡可以执行以下任务:
单击“启动实例”以启动实例。
单击“停止实例”以停止实例。
单击“查看日志文件”,以打开服务器日志查看器。
单击“轮转日志文件”,以轮转实例的日志文件。
该操作将安排日志文件以进行轮转。实际的轮转将在下一次向日志文件写入条目时发生。默认服务器 (DAS) 的轮转将立即发生,但其他独立服务器的轮转将延迟。
单击“JNDI 浏览”以浏览正在运行的实例的 JNDI 树。
单击“恢复事务”以恢复未完成的事务。
此外,您还可以选择以下选项卡来执行其他任务:
“应用程序”选项卡:部署选定的应用程序。
“资源”选项卡:管理选定的资源。
“属性”选项卡:配置实例特定的属性。
“监视”选项卡:查看 JVM、服务器、线程池、HTTP 服务和事务服务的监视数据。
“高级”选项卡:设置用于部署应用程序的常规属性。
通过“应用程序”选项卡,您可以启用、禁用和部署与实例相关联的选定应用程序。
选中所需应用程序的复选框。
从“部署”下拉式菜单中,选择要部署的应用程序模块的类型:
企业应用程序:位于 EAR(Enterprise Application Archive,企业应用程序归档)文件或目录中的 J2EE 应用程序。
Web 应用程序:封装在 WAR(Web Application Archive,Web 应用程序归档)文件或目录中的 Web 资源集合,例如 JavaServer Pages (JSP)、Servlet 和 HTML 页面。
EJB 模块:包含在 EJB JAR(Java Archive,Java 归档)文件或目录中的一个或多个 Enterprise JavaBean(EJB 组件)。
连接器模块:连接至企业信息系统 (Enterprise Information System, EIS) 并封装在 RAR(Resource Adapter Archive,资源适配器归档)文件或目录中。
生命周期模块:在被服务器生命周期中的一个或多个事件触发时执行任务。
应用程序客户机模块:也称为 J2EE 应用程序客户机 JAR 文件,它包含客户机的服务器端例程。
使用“资源”选项卡,可以启用、禁用和创建与实例关联的新资源类型。
选中所需资源的复选框。
从“新建”下拉式菜单中,选择要创建并与该实例相关联的资源类型:
JDBC:为应用程序提供连接数据库的方法。
持久性管理器:具有容器管理的持久性 Bean(用于向下兼容性)的应用程序需要持久性管理器。
JMS 连接工厂:允许应用程序以编程方式创建其他 JMS 对象的对象。
JMS 目标:表示 JavaMail API 中的邮件会话,JavaMail API 提供了一个独立于平台和协议的框架来建立邮件和消息传送应用程序。
JavaMail:提供了一个独立于平台和协议的框架来建立邮件和消息传送应用程序。
自定义:表示具有已定义的 JNDI(Java(TM) 命名和目录接口(TM))子上下文、资源类型和工厂类的非标准资源。
外部:使应用程序能够查找位于轻量目录访问协议 (Lightweight Directory Access Protocol, LDAP) 系统信息库中的外部资源对象。
连接器:一个程序对象,它为应用程序提供到企业信息系统 (EIS) 的连接。
管理对象:配置遵循 JSR-160 规范的远程 JMX 连接器。
Administration Server 高级设置使您可以设置用于部署应用程序的常规属性。使用这些属性,可以确保和监视对部署的应用程序所做的更改进行检测,以及重新装入已修改的类。
如果启用了动态重新装入,服务器将定期检查已部署的应用程序的文件中的更改并按照更改自动重新装入应用程序。动态重新装入在开发环境中很有用,因为它允许快速测试代码更改。但在生产环境中,动态重新装入可能会使性能降低。
动态重新装入适用于开发环境。它与会话持久性(一种生产环境功能)不兼容。如果启用了动态部署,请勿启用会话持久性。
动态重新装入仅适用于默认服务器实例。
要在“应用程序配置”页面中配置动态重新装入,请配置以下项目:
重新装入:使用“已启用”复选框来启用或禁用动态重新装入。
重新装入轮询时间间隔:指定服务器检查已部署的应用程序中的更改的频率。
管理会话超时:指定管理会话超时且必须重新登录之前的时间。
自动部署功能使您能够通过将预封装的应用程序或模块复制到 domain-dir/autodeploy 目录来部署该应用程序或模块。
例如,将名为 hello.war 的文件复制到 domain-dir/autodeploy 目录。要取消部署应用程序,请从 autodeploy 目录中删除 hello.war 文件。
自动部署功能适用于开发环境。它与会话持久性(一种生产环境功能)不兼容。如果启用了自动部署,请勿启用会话持久性。
自动部署仅适用于默认服务器实例。
转至“应用程序配置”页面。
通过选中或取消选中“已启用”复选框来启用或禁用自动部署。
在“自动部署轮询时间间隔”字段中,指定服务器检查自动部署目录中的应用程序文件或模块文件的频率。
更改轮询时间间隔不会影响部署应用程序或模块所需的时间。
在“自动部署”目录中,如果指定建立应用程序的目录,则不必将文件复制到默认自动部署目录中。
默认情况下,可使用变量自动更改多个服务器实例的目录。
要在部署之前运行验证器,请选中“已启用验证器”复选框。
验证器将检查文件的结构和内容。大型应用程序的检验通常会很耗费时间。
要预编译 JSP 页面,请选中 "JSP" 复选框。
如果未选中此复选框,则首次访问 JSP 页面时会在运行时编译这些页面。由于编译通常很耗费时间,因此在生产环境中请选中此复选框。
单击“添加属性”按钮以指定其他设置。
包括以下域属性。
表 1–1 域属性值
属性 |
定义 |
---|---|
com.sun.aas.installRoot |
应用程序服务器的安装目录。 |
com.sun.aas.instanceRoot |
服务器实例的顶层目录。 |
com.sun.aas.hostName |
主机(计算机)的名称。 |
com.sun.aas.javaRoot |
.J2SE 安装目录。 |
com.sun.aas.imqLib |
Sun Java System Message Queue 软件库目录。 |
com.sun.aas.configName |
服务器实例正在使用的配置的名称。 |
com.sun.aas.instanceName |
服务器实例的名称。该属性对于 default-config 不可用,但可用于自定义的配置。 |
com.sun.aas.clusterName |
群集的名称。仅在群集的服务器实例上设置了该属性。该属性对于 default-config 不可用,但可用于自定义的配置。 |
com.sun.aas.domainName |
域的名称。该属性对于 default-config 不可用,但可用于自定义的配置。 |
实例特定的配置属性将覆盖此实例的值。
默认值在绑定至实例的配置中定义。
单击“添加属性”按钮以指定其他设置。
可以使用以下属性名称/值对来配置资源:
属性 |
定义 |
---|---|
HTTP_LISTENER_PORT |
此端口用于侦听 HTTP 请求。此属性指定 http-listener-1 的端口号。有效值为 1 到 65535。在 UNIX 中,创建在端口 1 到 1024 上进行侦听的套接字要求具有超级用户权限。 |
HTTP_SSL_LISTENER_PORT |
此端口用于侦听 HTTPS 请求。此属性指定 http-listener-2 的端口号。有效值为 1 到 65535。在 UNIX 中,创建在端口 1 到 1024 上进行侦听的套接字要求具有超级用户权限。 |
IIOP_LISTENER_PORT |
此属性指定 orb-listener-1 侦听 IIOP 连接的 ORB 侦听器端口。 |
IIOP_SSL_LISTENER_PORT |
此端口用于安全 IIOP 连接。 |
JMX_SYSTEM_CONNECTOR_PORT |
此属性指定 JMX 连接器进行侦听的端口号。有效值为 1 到 65535。在 UNIX 中,创建在端口 1 到 1024 进行侦听的套接字要求具有超级用户权限。 |
IIOP_SSL_MUTUALAUTH_PORT |
此属性指定称为 SSL_MUTUALAUTH 的 IIOP 侦听器侦听 IIOP 连接的 ORB 侦听器端口。 |
在树组件中,选择“独立实例”节点。
在“独立服务器实例”页面中,单击“新建”。
在“名称”字段中,标识新实例的唯一名称。
选择一个节点代理。
必须在节点代理的主机上使用 asadmin start-node-agent 命令启动节点代理,以便使正在创建的服务器实例能够与该节点代理相关联。
选择所需的配置。
要从其他配置进行复制,请在创建新实例时指定要复制的配置。
默认情况下,创建新实例时,其配置将从 default-config 配置复制而来。
对于服务器实例,新配置的名称为 instance-name-config。
配置 default-config 为默认配置,用作创建独立服务器实例的模板。不允许非群集服务器实例或群集引用 default-config 配置;只能复制该配置以创建新配置。编辑默认配置,以确保从默认配置复制而来的新配置具有正确的初始设置。
create-instance
在树组件中,展开“独立实例”节点。
选择要启动的实例。
在“常规”选项卡上,单击“启动实例”以启动实例。
必须先使用 asadmin start-node-agent 命令启动与实例关联的节点代理,才能成功启动该实例。
启动实例后,便可以从“常规”选项卡上执行以下任务:
start-instance
由于服务器崩溃或资源管理器崩溃,事务可能未完成。完成这些被搁置的事务并将其从故障中恢复至关重要。Application Server 旨在在服务器启动时从故障中恢复并完成这些事务。
如果选定的服务器正在运行,则将由同一服务器执行恢复操作。如果选定的服务器没有运行,则将由选定的 Destination Server 执行恢复操作。
stop-instance