在 Sun Java System Web Server 或 Sun Java System Application Server 上,可以将 HTTP 隧道 Servlet 作为 Web 归档 (Web archive, WAR) 文件进行部署。
要将 HTTP 隧道 Servlet 作为 .war 文件进行部署,需要使用 Web 服务器/应用服务器提供的部署机制。 HTTP 隧道 Servlet .war 文件 (imqhttp.war ) 位于包含 .jar、 .war 和 .rar 文件的目录中,具体目录因操作系统而异(请参见附录 A, Message QueueTM 数据在特定平台上的位置)。
.war 文件包含一个部署描述符,该描述符包含 Web 服务器/应用服务器装入和运行 Servlet 时所需的基本配置信息。 根据 Web 服务器/应用服务器的不同,您可能还需要指定该 Servlet URL 的上下文根部分。
作为 Web 归档文件部署
有关在 Sun Java System Web Server 上部署的信息,请参见在 Sun Java System Web Server 上部署 HTTP 隧道 Servlet 。
有关在 Sun Java System Application Server 上部署的信息,请参见在 Sun Java System Application Server 上部署 HTTP 隧道 Servlet。
下面的说明与 Sun Java System Web Server 上的部署有关。通过使用 Web 浏览器访问 Servlet URL,可以验证 HTTP 隧道 Servlet 的部署是否成功。 它应该显示状态信息。
在基于浏览器的管理 GUI 中,选择“虚拟 Server 类”选项卡并选择“管理类”。
选择相应的虚拟服务器类名(例如, defaultClass)并单击“管理”按钮。
选择“管理虚拟服务器”。
选择相应的虚拟服务器名称并单击“管理”按钮。
选择“Web 应用程序”选项卡。
单击“部署 Web 应用程序”。
为“WAR 文件位置”和“WAR 文件路径”字段选择相应的值,以指向 imqhttp.war 文件,该文件所在的目录因操作系统而异(请参见附录 A, Message QueueTM 数据在特定平台上的位置)。
在“应用程序 URI”字段中输入路径。
“应用程序 URI”字段值为隧道 Servlet URL 的 /contextRoot 部分:
http://hostName :portNumber / contextRoot/tunnel
例如,如果将 contextRoot 设置为 imq, 则“应用程序 URI”字段为:
/imq
输入要在其中部署 Servlet 的安装目录路径(通常位于 Sun Java System Web Server 的安装根目录下)。
单击“确定”。
重新启动 Web 服务器实例。
Servlet 现在即被部署到以下位置:
http://hostName:portNumber/ contextRoot/tunnel |
客户端现在可以使用此 URL 通过 HTTP 连接来连接到消息服务。
您不必禁用服务器访问日志,但禁用服务器访问日志可以获取更佳性能。
本节说明了如何在 Sun Java System Application Server 上将 HTTP 隧道 Servlet 作为 .war 文件进行部署,然后对该隧道 Servlet 进行配置,使其接受来自 Message Queue 代理的连接。
需要执行两个步骤:
使用应用服务器部署工具部署 HTTP 隧道 Servlet。
修改应用服务器实例的 server.policy 文件。
在基于 Web 的管理 GUI 中,选择
“应用服务器”>“实例”> "server1" >“应用程序”>“Web 应用程序”。
单击“部署”按钮。
在“文件路径:”文本字段中,输入 HTTP 隧道 Servlet.war 文件 (imqhttp.war) 的位置,然后单击“确定”。
imqhttp.war 文件的位置因操作系统而异(请参见附录 A, Message QueueTM 数据在特定平台上的位置)。
设置“上下文根”文本字段的值,然后单击“确定”。
“上下文根”字段的值是隧道 Servlet URL 的 /contextRoot 部分:
http:// hostName :portNumber / contextRoot/tunnel
例如,可以将“上下文根”字段设置为 /imq。
显示的确认屏幕确认隧道 Servlet 已成功部署,在默认情况下处于启用状态,并且在本例中该 Servlet 位于以下位置:
/var/opt/SUNWappserver8/domains/domain1/server1/applications/ j2ee-modules/imqhttp_1 |
Servlet 现在即被部署到以下 URL:
http://hostName:portNumber/ contextRoot/tunnel |
客户端现在即可使用此 URL 通过 HTTP 连接来连接到消息服务。
应用服务器实施了一组默认安全策略,除非经过修改,否则它们将阻止 HTTP 隧道 Servlet 接受来自 Message Queue 代理的连接。
每个应用服务器实例都有一个包含安全策略或规则的文件。例如,server1 实例的此文件在 Solaris 上的位置为:
/var/opt/SUNWappserver8/domains/domain1/server1/config/ server.policy
要配置隧道 Servlet 以接受来自 Message Queue 代理的连接,此文件中还必须包含另一个条目。