功能 |
描述和参考 |
---|---|
管理工具 |
Message Queue 服务包括 GUI 和命令行工具,用于管理目的地、事务、长期订阅、受管理对象存储库、用户系统信息库、符合 JDBC 的数据存储库以及服务器证书。 参考 《Sun Java System Message Queue 3.7 UR1 管理指南》中的第 1 章 “管理任务和工具” |
验证 |
Message Queue 服务对照存储在用户系统信息库中的值对用户的名称和密码进行验证,并根据验证结果确定是否允许用户连接到代理。系统信息库可以是随 Message Queue 提供的平面文件系统信息库,也可以是 LDAP 系统信息库(LDAP v2 或 v3 协议)。 用法
参考 |
授权 |
Message Queue 服务允许您创建访问控制属性文件,以指定用户和用户组可以执行的操作。当客户端试图建立连接、创建生成方、创建使用方或浏览队列时,代理会检查此文件。 用法 编辑自动为代理实例创建的访问控制属性文件。 参考 |
自动重新连接 |
管理员对连接工厂受管理对象设置连接属性,以允许在连接失败时自动重新建立连接。可以重新连接到同一个代理,也可以连接到群集中的另一个代理(如果使用群集)。可以指定尝试重新连接的次数以及尝试的时间间隔。对于群集代理,还可以指定循环访问代理列表的频率以及是否按特定顺序循环访问列表。 参考 《Sun Java System Message Queue 3.7 UR1 管理指南》中的第 8 章 “管理受管理对象” |
代理群集 |
通过将许多代理实例组合到一个代理群集内,管理员可以在这些代理之间平衡客户端连接和消息传送。 用法
参考 《Sun Java System Message Queue 3.7 UR1 管理指南》中的第 9 章 “使用代理群集” |
代理配置 |
管理员可以通过设置代理属性来调整 Message Queue 服务的性能,其中包括路由服务、持久性服务、安全性、监视以及受管理对象的管理。 参考 |
C 客户端支持 |
C 客户端可以使用 Message Queue 消息传送服务来发送和接收消息。C API 使传统 C 应用程序和 C++ 应用程序可以参与基于 JMS 的消息传送。 支持 Message Queue C API 的 C 客户端运行时环境支持大多数标准 JMS 功能,但不支持以下 JMS 功能:使用受管理对象,映射、流或对象消息主体类型,分布式事务,以及队列浏览器。此外,C 客户端运行时环境也不支持 Message Queue 的大部分企业功能。 参考 《Sun Java System Message Queue 3.7 UR1 Developer’s Guide for C Clients》 |
压缩的消息 |
Java 客户端可以对消息属性进行设置,使客户端运行时环境压缩要发送的消息。而使用方一端的运行时环境在将消息传送给使用方前先解压缩该消息。此外还提供了其他属性,可以使用这些属性确定压缩消息是否确实改善了性能。 参考 《Sun Java System Message Queue 3.7 UR1 Developer’s Guide for Java Clients》中的“Managing Message Size” |
可配置的持久性 |
管理员可以对代理进行配置,以使用随 Message Queue 提供的基于文件的持久性存储库,或者使用符合 JDBC 的数据库,如 Oracle 8i。 用法 设置与文件系统持久性存储器或与符合 JDBC 的存储器相关的代理属性。 参考 |
可配置的物理目的地 |
创建目的地时,管理员可以通过设置物理目的地属性来定义某些消息传送行为。可以针对任何目的地配置以下行为:未使用消息的最大数量或允许这些消息使用的最大内存、当超出内存限制时代理应该拒绝哪些消息、生成方和使用方的最大数量、消息的最大大小、单批传送的最大消息数、目的地是否只能将消息传送给本地使用方以及是否可以将目的地上的停用消息移到停用消息队列中。 参考 《Sun Java System Message Queue 3.7 UR1 管理指南》中的第 6 章 “管理物理目的地” |
连接 ping |
管理员可以设置连接工厂属性,以指定从客户端运行时环境到代理之间 ping 操作的频率。此功能会使客户端可以尽早检测到失败的连接。 参考 |
停用消息队列 |
Message Queue 消息服务通过创建停用消息队列来保存已过期或代理无法处理的消息。可以通过检查队列内容来监视和调整系统性能,或者解决系统性能问题。 参考 《Sun Java System Message Queue 3.7 UR1 管理指南》中的第 6 章 “管理物理目的地” |
HTTP 连接 |
HTTP 传输允许通过防火墙传送消息。Message Queue 使用在 Web 服务器环境中运行的 HTTP 隧道 Servlet 来实现 HTTP 支持。客户端运行时环境将客户端生成的消息包装为 HTTP 请求,并借助于 HTTP 通过防火墙将其传送到隧道 Servlet。隧道 Servlet 从 HTTP 请求提取 JMS 消息,然后将该消息通过 TCP/IP 传送到代理。 用法
参考 《Sun Java System Message Queue 3.7 UR1 管理指南》中的附录 C “HTTP/HTTPS 支持” |
交互监视 |
管理员可以使用 imqcmd metrics 命令远程监视代理。监视的数据包括 JVM 度量、代理消息流、连接、连接资源、消息、目的地消息流、目的地使用方和目的地资源的使用情况。 参考 |
J2EE 资源适配器 |
Message Queue 提供可以插入到符合 J2EE 的应用服务器的资源适配器。应用服务器通过将 Message Queue 用作 JMS 提供者来满足 J2EE 要求,即,在应用服务器中运行的分布式组件能够使用可靠的异步消息进行交互。 用法 通过设置适配器属性来配置适配器。 参考 《Sun Java System Message Queue 3.7 UR1 管理指南》中的第 17 章 “JMS 资源适配器属性参考” |
JNDI 服务提供者支持 |
客户端可以使用 JNDI API 查找受管理对象。 管理员可以使用 imqobjmgr 实用程序,在可通过 JNDI 访问的对象存储库中添加、列出、更新和删除受管理对象。 参考 《Sun Java System Message Queue 3.7 UR1 管理指南》中的第 8 章 “管理受管理对象” |
LDAP 服务器支持 |
管理员可以将 LDAP 服务器用于受管理对象存储库,以及用于存储验证和授权所需的用户信息。默认情况下,Message Queue 为这些数据提供基于文件的存储器。 用于受管理对象
参考 《Sun Java System Message Queue 3.7 UR1 管理指南》中的第 7 章 “管理安全性” 用于用户系统信息库
参考 |
内存资源管理 |
参考 |
消息压缩 |
开发者可以设置消息头属性,使客户端运行时环境在发送消息之前先进行压缩。而接收方一端的客户端运行时环境在将消息传送给使用方前先解压缩该消息。 参考 《Sun Java System Message Queue 3.7 UR1 Developer’s Guide for Java Clients》中的“Message Compression” |
客户端的消息流控制 |
管理员或开发者可以通过配置连接来指定各种流限制和度量方案,以便最大限度地减少有效负荷消息与控制消息之间的冲突,进而最大限度地提高消息吞吐量。 用法 为连接工厂受管理对象(管理员)设置流控制属性,或者为连接工厂(开发者)设置流控制属性。 参考 |
基于消息的监视 API |
Java 客户端可以使用监视 API 创建自定义的监视应用程序。监视应用程序是从特殊度量主题目的地中检索度量消息的使用方。 用法
参考 |
多个使用方的队列传送 |
管理员可以为该队列指定活动使用方的最大数量以及备份使用方的最大数量。代理将消息分发给注册的使用方,在使用方之间平衡负载以便系统可以进行扩展。 用法 设置物理目的地属性 maxNumActiveConsumers 和 maxNumBackupConsumers。 参考 《Sun Java System Message Queue 3.7 UR1 管理指南》中的第 15 章 “物理目的地属性参考” |
可靠数据的持久性 |
要获得绝对的可靠性,可以将 imq.persist.file.sync.enabled 属性设置为 true,以此要求操作系统将数据同步写入持久性存储。这会避免因系统崩溃可能引起的数据丢失,但负面影响是会导致性能下降。请注意,尽管数据未丢失,但它们对于(群集中的)任何其他代理都不可用,因为群集代理当前未共享这些数据。当系统恢复时,代理可以可靠地继续执行操作。 参考 |
安全连接 |
客户端可以在 TCP/IP 和 HTTP 传输中使用安全套接字层 (Secure Socket Layer, SSL) 标准来保护消息传输。这些基于 SSL 的连接服务允许对在客户端与代理之间发送的消息进行加密。 SSL 支持基于自签名服务器证书。Message Queue 提供了一个实用程序,它可以生成私钥/公钥对,并将公钥嵌入到自签名证书中。此证书将被传递到任何请求代理连接的客户端,该客户端将使用此证书建立加密连接。 用法
参考 |
SOAP 支持 |
客户端可以接收 SOAP (XML) 消息,将它们包装为 JMS 消息,并使用 Message Queue 像交换 JMS 消息一样来交换这些消息。 客户端可以使用特殊的 Servlet 来接收 SOAP 消息;它们可以使用一个实用程序类将 SOAP 消息包装为 JMS 消息,而使用另一个实用程序类从 JMS 消息中提取 SOAP 消息。客户端可以使用标准的 SAAJ 库来组合和分解 SOAP 消息。 参考 |
线程管理 |
管理员可以指定分配给任何特定连接服务的最大线程数和最小线程数。管理员还可以确定使用共享线程模型能否提高连接服务的吞吐量,该模型允许非空闲连接使用空闲连接专用的线程。 用法 设置与连接服务线程相关的属性。 参考 |
可调整的性能 |
管理员可以设置代理属性,以便对内存使用情况、线程资源、消息流、连接服务、可靠性参数以及其他影响消息吞吐量和系统性能的因素进行调整。 参考 《Sun Java System Message Queue 3.7 UR1 管理指南》中的“监视服务” 《Sun Java System Message Queue 3.7 UR1 管理指南》中的第 11 章 “分析和调整消息服务” |