上一章 目录 索引 下一章 |
Sun Java System Message Queue 3.5 SP1 管理指南

> ## 第 3 章
> Message Queue 管理任务和工具

> Sun Java System Message Queue 管理由若干任务以及用于执行这些任务的若干工具组成。

> 本章首先概述了管理任务，然后介绍了管理工具，其中着重介绍命令行管理实用程序的通用特性。

> ##

> Message Queue 管理任务

> 您需要执行哪些特定任务取决于您处于开发环境还是处于生产环境。

> ### 开发环境

> 在开发环境中，工作的重点是 Message Queue 客户机应用程序编程。Message Queue 消息服务器主要用于测试。在开发环境中，强调的是灵活性，您通常采用以下惯例：

> - 您想做最少的管理工作，主要是为开发者启动代理以便用于测试。
> - 您使用数据存储（基于内置文件持久性）、用户信息库（基于文件的用户信息库）、访问控制属性文件和对象存储（文件系统存储）的默认实现方案。利用这些默认的实现方案进行开发测试通常已经足够了。
> - 如果是执行多代理测试，很可能不会使用主管代理。
> - 您通常使用自动创建的目标，而不使用明确创建目标
> - 您可能想在客户机代码中实例化受管理对象，而不使用集中管理的受管理对象。

> ### 生产环境

> 在生产环境中，由于必须在其中可靠地部署和运行应用程序，所以管理就重要得多了。需要执行的管理任务取决于消息系统的复杂性和它必须支持的应用程序的复杂性。不过，通常这些任务可分为设置操作和维护操作。

> #### 设置操作

> ##### 设置生产环境

> 通常需要执行以下全部设置操作或至少执行某些设置操作：

> - 管理员安全性（保护管理工具的使用）：
> - 确保 admin 连接服务处于激活状态（请参见表 2-3）
> - 授权：允许针对特定的个人或 admin 组访问 admin 连接服务（请参见“连接访问控制”）
> - 如果针对某个组授权，请确保管理员属于该 admin 组。
> - 基于文件的用户信息库：有默认的 admin 组。确保管理员属于 admin 组，或者如果使用默认的 admin 用户，请更改 admin 密码（请参见“更改默认的管理员密码”）。
> - LDAP 用户信息库：确保管理员属于 admin 组
> - 一般安全性（请参见第 8 章“管理安全性”）：
> - 验证：创建进入基于文件的用户信息库的入口或将代理配置为使用现有 LDAP 用户信息库

> （至少需要设置保护管理功能的密码。）

> - 授权：修改访问控制属性文件中的访问设置
> - 加密：设置基于 SSL 的连接服务
> - 受管理对象（请参见第 7 章“管理受管理对象”）：
> - 配置或设置 LDAP 对象存储
> - 创建连接工厂和目标受管理对象
> - 代理群集（请参见“使用群集（企业版）”）：
> - 创建中心配置文件
> - 使用主管代理
> - 持久性：将代理配置为使用插入的持久性，而不是内置的持久性（请参见附录 B“设置插入的持久性”）
> - 内存管理：设置目标属性，以便消息数和为消息分配的内存容量与可用的代理内存资源相适合（请参见表 6-10）

> #### 维护操作

> ##### 设置生产环境

> 另外，在生产环境中，需要对 Message Queue 消息服务器资源进行严格的监视和控制。应用程序性能、可靠性和安全性是优先考虑的因素，并且需要使用 Message Queue 管理工具执行如下所述的若干任务：

> - 应用程序管理：
> - 禁用代理的自动创建功能（请参见表 2-10）
> - 代表应用程序创建物理目标（请参见“创建目标”）
> - 设置对目标的用户访问权限（请参见“授权用户： 访问控制属性文件”）
> - 监视和管理目标（请参见“管理目标”）
> - 监视和管理长期订阅（请参见“管理长期订阅”）
> - 监视和管理事务（请参见“管理事务”）
> - 代理管理和调整：
> - 使用代理度量依据来调整和重新配置代理（请参见第 9 章“分析和调整消息服务”）
> - 管理代理内存资源（请参见第 9 章“分析和调整消息服务”）
> - 将代理添加到群集中以平衡负荷（请参见“使用群集（企业版）”）
> - 恢复出现故障的代理（请参见“启动代理”）
> - 管理受管理对象：
> - 按照需要创建其他连接工厂和目标受管理对象（请参见“添加和删除受管理对象”）
> - 调整连接工厂的属性值以提高性能和吞吐量（请参见“连接工厂受管理对象属性”和“更新受管理对象”）

> ##

> Message Queue 管理工具

> Message Queue 管理工具分为两类：命令行实用程序和图形用户界面 (GUI) 管理控制台 (imqadmin)。控制台结合了两个命令行实用程序的功能：命令行实用程序 (imqcmd) 和对象管理器实用程序 (imqobjmgr)。可以使用控制台（和这两个命令行实用程序）来远程管理代理以及管理 Message Queue 受管理对象。其他命令行实用程序（imqbrokerd、imqusermgr、imqdbmgr 和 imqkeytool）必须在其关联的代理的同一主机上运行，如图 3-1 所示。

> 可以从联机帮助中获得有关管理控制台的信息。“命令行实用程序概述”介绍了通常用于执行特殊任务的命令行实用程序。

> ### 管理控制台

> 可以使用管理控制台执行以下任务：

> - 连接到代理并对其进行管理。
> - 在代理上创建和管理物理目标
> - 连接到对象存储
> - 向对象存储添加受管理对象并对其进行管理。

> 某些任务不能使用管理控制台来执行，主要有：启动代理、创建代理群集、配置代理更加具体的属性和物理目标以及管理用户数据库。

> 第 4 章“管理控制台教程”提供了一个简明扼要的实用教程，帮助您熟悉控制台，并说明了如何使用它完成基本任务。

> ### 命令行实用程序概述

> 本节介绍用于执行 Message Queue 管理任务的命令行实用程序。使用 Message Queue 实用程序启动和管理代理并执行其他更加具体的管理任务。

> 图 3-1 本地和远程管理实用程序

> 所有 Message Queue 实用程序均可通过命令行接口 (CLI) 来访问。实用程序命令共用通用格式、语法惯例和选项，本章下一小节将进行介绍。可以在后面的章节中找到有关使用命令行实用程序更为详细的信息。

> 代理 (imqbrokerd) 使用代理实用程序启动代理。使用 imqbrokerd 命令的选项来指定是否应将代理连接到群集中，并指定其他配置信息。第 5 章“启动与配置代理”中介绍了 imqbrokerd 命令。

> 命令 (imqcmd) 启动了代理后，您可以使用命令行实用程序创建、更新和删除物理目标；控制代理及其连接服务；管理代理的资源。第 6 章“代理和应用程序管理”中介绍了 imqcmd 命令。

> 对象管理器 (imqobjmgr) 使用对象管理器实用程序在可通过 JNDI 访问的对象存储中添加、列出、更新和删除受管理对象。通过将 JMS 客户机与 JMS 提供者特有的命名和配置格式分离，受管理对象使 JMS 客户机可以与提供者无关。第 7 章“管理受管理对象”中介绍了 imqobjmgr 命令。

> 用户管理器 (imqusermgr) 使用用户管理器实用程序来填充用于验证和授权用户的基于文件的用户信息库。第 8 章“管理安全性”中介绍了 imqusermgr 命令。

> 密钥工具 (imqkeytool) 使用密钥工具实用程序来生成用于 SSL 验证的自签名证书。第 8 章“管理安全性”和附录 C“HTTP/HTTPS 支持（企业版）”中介绍了 imqkeytool 命令

> 数据库管理器 (imqdbmgr) 使用数据库管理器实用程序来创建和管理用于持久性存储器的 JDBC 兼容数据库。附录 B“设置插入的持久性”中介绍了 imqdbmgr 命令。

> 服务管理器 (imqsvcadmin) 使用服务管理器实用程序可以将代理作为 Windows 服务来进行安装、查询和删除。附录 D“使用代理作为 Windows 服务”中介绍了 imqsvcadmin 命令。

> #### 命令行语法

> Message Queue 命令行接口实用程序是简单的 shell 命令。也就是说，从 Windows、Linux 或 Solaris 命令 shell 的角度来看，命令行接口实用程序的名称本身是一个命令，而它的子命令或选项只是要传送到该命令的变量而已。因此，没有、也不需要用于启动或退出实用程序的命令。

> 所有的命令行实用程序均共享以下命令语法：

> Utility_Name [subcommand] [argument] [[-option_name [-option_argument]]…]

> Utility_Name 指定 Message Queue 实用程序的名称，例如，imqcmd、imqobjmgr 和 imqusermgr 等。

> 以下四点需要注意：

> - 在子命令之后指定选项（如果此实用程序还接受变量类型的操作数，则还包括变量）。
> - 如果变量包含空格，请将整个变量置于引号中。将属性-值对置于引号中通常是最安全的做法。
> - 如果在命令行中指定了 -v（版本）或 -h/-H（帮助）选项，所有此命令行中的其他选项均不执行。有关通用选项的说明，请参见表 3-1。
> - 用空格分隔子命令、变量、选项和选项变量。

> 以下是不包含子命令子句的一个命令行示例。此命令启动默认代理。

> imqbrokerd

> 以下命令要稍微复杂一些：它将为用户名为 admin 且相应密码为 admin 的管理员（用户）销毁一个名为myQueue 的 queue 类型的目标，此销毁不需要确认，并且控制台上不显示输出。

> imqcmd destroy dst -t q -n myQueue -u admin -p admin -f -s

> #### 通用命令行选项

> 表 3-1 介绍了通用于所有 Message Queue 管理实用程序的选项。除了要在命令行中指定的子命令之后指定下述选项的要求以外，对这些选项（或任何传送至实用程序的其他选项）的输入顺序无任何特殊要求。

> 表 3-1 通用 Message Queue 命令行选项

> 选项 | 说明
> --- | ---
> -h | 显示指定实用程序的使用帮助
> -H | 显示详细的使用帮助，包括属性列表和示例（只支持 imqcmd 和 imqobjmgr）。
> -s | 打开无提示模式：不显示输出。对于 imqbrokerd，指定为 -silent。
> -v | 显示版本信息。
> -f | 执行给定操作，而不提示用户进行确认。
> -pre | （仅用于 imqobjmgr）打开预览模式，允许用户查看命令行中其他部分的执行效果而无需实际执行此命令。此项功能有助于检查默认属性值。
> -javahome path | 指定要使用的替代 Java 2 兼容运行时（默认使用系统上的运行时或 Message Queue 附带的运行时）。

> 上一章 目录 索引 下一章

> 版权所有 2004 Sun Microsystems, Inc. 保留所有权利。