Web 消息传递服务由一个运行时 JavaTM 归档 (JAR) 文件(此文件位于 WebSphere® Application Server 安装目录中)和一个库(将作为实用程序 JAR 文件插入新的 Web 模块或现有 Web 模块)组成。本节提供有关启用 Web 消息传递服务和开发支持 Web 消息传递的应用程序的简要指示信息。本节中包含与提供了更详细描述的各节的链接。.
Linux 和 UNIX:/opt/WebSphere/AppServer |
---|
Windows:c:\WebSphere\AppServer |
Linux 和 UNIX:
/opt/WebSphere/AppServer/optionalLibraries/webmsg_applib.jar.
|
---|
Windows:
c:\WebSphere\AppServer\optionalLibraries\webmsg_applib.jar.
|
必须启用 Web 消息传递服务,才能运行支持 Web 消息传递的应用程序。有关更多信息,请参阅启用 Web 消息传递服务指示信息。
Web 消息传递应用程序必须让一个已配置并且定义了主题空间的服务集成总线运行。必须至少在 Web 消息传递配置文件中提供了总线名称,Web 消息传递应用程序才能运行。
Dojo Toolkit 为 Web 消息传递服务提供了客户机支持。最容易实现的方法就是将 Dojo Tookit 包括在 Web 模块中。如果未将 Dojo Toolkit 包括在 Web 模块中(例如,通过 Web 服务器来静态处理),那么必须知道 dojo.js 文件的统一资源标识 (URI) 位置,以将 Dojo Toolkit 装入任何 Web 模块表示文件。
最好是将 Web 消息传递实用程序库插入 Web 模块的 WEB-INF/lib 目录中作为一个实用程序库。将步骤 1 中找到的 webmsg_applib.jar 文件复制到 Web 模块的 WEB-INF/lib 目录中。可以使用与 Dojo Toolkit 位于同一 Web 模块或者位于另一个 Web 模块中的 Web 消息传递实用程序库。关键的交互点是 Bayeux 协议通信 URI。请参阅各个安装步骤以了解更多信息。
<servlet> <description/> <display-name> WebMsgServlet </display-name> <servlet-name>WebMsgServlet</servlet-name> <servlet-class> com.ibm.websphere.webmsg.servlet.WebMsgServlet </servlet-class> </servlet> <servlet-mapping> <servlet-name>WebMsgServlet</servlet-name> <url-pattern>/webmsgServlet</url-pattern> </servlet-mapping> |
Web 消息传递服务从配置文件中读取配置参数以处理传入 Web 消息传递请求。在 WEB-INF 目录中创建 Web 消息传递配置文件 webmsg.json(与 web.xml 文件位于同一个目录中),与以下示例相似。webmsg.json 文件被指定为 JSON 对象(映射),每个键与映射至 Web 消息传递 Servlet 的现有 Servlet 名称相匹配。配置概述一节提供了有关所有可能存在的配置选项的信息。
{ "WebMsgServlet": { "busName": "thebus", "destination": "Default.Topic.Space", "clientCanPublish": true, "longPollTimeout": 30 } } |
现在,在服务器端已经完成了所有设置,就只需安装应用程序了。其余的任务就是使用 Dojo Toolkit 功能创建客户机端逻辑。下面提供了一个简单的测试示例。请注意初始化 URI 参数如何与 Web 消息传递 Servlet 映射相匹配。
<html> <head> <title>cometd client/server test page</title> <script type="text/javascript" src="dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true, debugAtAllCosts: false"></script> <script type="text/javascript"> dojo.require("dojox.cometd"); dojo.addOnLoad(function(){ dojox.cometd.init("webmsgServlet") dojox.cometd.subscribe("/testtopic", window, "display"); } ); function display(msg) { alert("Message " + msg.data.test); } </script> <div align="left"> <button Id="publishButton" onclick="dojox.cometd.publish('/testtopic', {test: 'Data'});"> <span style="font-size:small">PUBLISH</span> </button> </div> </head> <body></body> </html> |
使用标准的 Web 应用程序组装、安装和测试过程来组装、安装和测试应用程序。