![]() |
Sun ONE Message Queue, Version 3.0.1 管理员指南 |
Sun ONE Message Queue (MQ) 管理由若干任务以及用于执行这些任务的若干工具组成。
本章首先概述了管理任务,然后介绍了管理工具,其中着重介绍命令行管理实用程序的通用特性。
MQ 管理任务
您需要执行哪些特定任务取决于您处于开发环境还是处于生产环境。
开发环境
在开发环境中,工作的重点是 MQ 客户机应用程序编程。MQ 消息服务器主要用于测试。在开发环境中,强调的是灵活性,管理任务很少,大都是启动开发者要用于测试的代理。对于开发测试来说,数据存储、用户系统信息库、访问控制属性文件和对象存储的默认实现方案通常就已经足够了。如果是执行多代理测试,很可能不会使用主管代理。另外,被测试的应用程序一般可以使用自动创建的目标,并且您可能不希望使用集中管理的被管理对象。
生产环境
在生产环境中,由于必须在其中可靠地部署和运行应用程序,所以管理就重要得多了。需要执行的管理任务取决于消息系统的复杂性和它必须支持的应用程序的复杂性。不过,通常这些任务可分为设置操作和维护操作。
设置操作
通常需要执行以下全部设置操作或至少执行某些设置操作:
- 安全性(请参见第 8 章“安全性管理”):
- 被管理对象(请参见第 7 章“管理被管理对象”):
- 代理群集(请参见使用群集(企业版)):
- 持久性:将代理配置为使用插入的持久性,而不是内置的持久性(请参见附录 A“设置插入的持久性”)
维护操作
另外,在生产环境中,需要对 MQ 消息服务器资源进行严格的监视和控制。应用程序性能、可靠性和安全性是优先考虑的因素,并且需要使用 MQ 管理工具执行如下所述的若干任务:
- 应用程序管理:
禁用代理的自动创建功能(请参见表 2-9)
代替应用程序创建物理目标(请参见创建目标)
设置对目标的用户访问权限(请参见授权用户:访问控制属性文件)
监视和管理目标(请参见管理目标)
监视和管理长期订阅(请参见管理长期订阅)
监视和管理事务(请参见管理事务)
- 代理管理和调节:
- 管理被管理对象
调节连接工厂的属性值以提高性能和吞吐量(请参见“连接工厂”被管理对象)
MQ 管理工具
MQ 管理工具分为两类:命令行实用程序和图形用户界面 (GUI) 管理控制台 (imqadmin)。控制台结合了两个命令行实用程序的功能:命令实用程序 (imqcmd) 和对象管理器实用程序 (imqobjmgr)。可以使用控制台(和这两个命令行实用程序)来远程管理代理以及管理 MQ 被管理对象。其它命令行实用程序(imqbrokerd、imqusermgr、imqdbmgr 和 imqkeytool)必须在其关联代理的同一主机上运行,如图 3-1 所示。
可以从联机帮助中获得有关管理控制台的信息。命令行实用程序概述介绍了通常用于执行特殊任务的命令行实用程序。
管理控制台
可以使用管理控制台执行以下任务:
- 连接到代理并对其进行管理。
- 在代理上创建物理目标。
- 连接到对象存储。
- 向对象存储添加被管理对象。
某些任务不能使用管理控制台来执行,主要有:启动代理、创建代理群集、配置代理更加具体的属性和管理用户数据库。
第 4 章“管理控制台教程”提供了一个简明扼要的实用教程,帮助您熟悉控制台,并说明了如何使用它完成基本任务。
命令行实用程序概述
本节介绍用于执行 MQ 管理任务的命令行实用程序。使用 MQ 实用程序启动和管理代理并执行其它更加具体的管理任务。
图 3-1    本地和远程管理实用程序
![]()
所有 MQ 实用程序均可通过命令行界面 (CLI) 来访问。实用程序命令共用通用格式、语法惯例和选项,本章下一小节将进行介绍。可以在后面的章节中找到有关使用命令行实用程序更为详细的信息。
代理 (imqbrokerd) 使用代理实用程序启动代理。使用 imqbrokerd 命令的选项来指定是否将代理连接到代理群集中,并指定其它配置信息。在第 5 章“启动与配置代理”中介绍了此实用程序。
命令 (imqcmd) 启动代理后,使用命令实用程序来创建、更新和删除物理目标、控制代理及其连接服务,并管理代理的资源。可以使用 imqcmd 命令来运行此实用程序。在第 6 章“代理和应用程序管理”中介绍了此实用程序。
对象管理器 (imqobjmgr) 使用对象管理器实用程序在可通过 JNDI 访问的对象存储中添加、列举、更新和删除被管理对象。通过将 JMS 客户机与 JMS 提供者特有的命名和配置格式分离,被管理对象使 JMS 客户机可以与提供者无关。可以使用 imqobjmgr 命令来运行此实用程序。在第 7 章“管理被管理对象”中介绍了此实用程序。
用户管理器 (imqusermgr) 使用用户管理器实用程序来填充用于验证和授权用户的基于文件的用户系统信息库。可以使用 imqusermgr 命令来运行此实用程序。在第 8 章“安全性管理”中介绍了此实用程序。
密钥工具 (imqkeytool) 使用密钥工具实用程序来生成用于 SSL 验证的自签名证书。可以使用 imqkeytool 命令来运行此实用程序,在第 8 章“安全性管理”和附录 B“HTTP/HTTPS 支持(企业版)”中介绍了此实用程序。
数据库管理器 (imqdbmgr) 使用数据库管理器实用程序来创建和管理用于持久性存储器的 JDBC 兼容数据库。可以使用 imqdbmgr 命令来运行此实用程序。有关详细信息,请参见附录 A“设置插入的持久性”。
服务管理器 (imqsvcadmin) 使用服务管理器实用程序可以将代理作为 Windows 服务来进行安装、查询和删除。有关详细信息,请参见附录 C“使用代理作为 Windows 服务”。
命令行语法
MQ 命令行界面实用程序是简单的 shell 命令。也就是说,从 Windows、Linux 或 Solaris 命令 shell 的角度来看,命令行界面实用程序的名称本身是一个命令,而它的子命令或选项只是要传送到该命令的变量而已。因此,没有、也不需要用于启动或退出实用程序的命令。
所有的命令行实用程序均共享以下命令语法:
Utility_Name [subcommand] [argument] [[-option_name [-option_argument]]...]
Utility_Name 指定 MQ 实用程序的名称,例如: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 介绍了通用于所有 MQ 管理实用程序的选项。除了要在命令行中指定的子命令之后指定下述选项的要求以外,对这些选项(或任何传送至实用程序的其它选项)的输入顺序无任何特殊要求。