Sun Java System Message Queue 3 2005Q4 管理指南 |
第 13 章
命令行参考本章提供了有关使用 Message Queue 命令行管理实用程序的参考信息。本章包含以下各节:
命令行语法Message Queue 命令行实用程序是 shell 命令。实用程序的名称是命令,其子命令或选项是传递给该命令的参数。不需要使用单独的命令来启动或退出实用程序。
以下命令语法适用于所有命令行实用程序:
utilityName [subcommand] [commandArgument] [[-optionName [-optionArgument]]...]
其中 utilityName 是以下实用程序之一:
子命令和命令级别的参数(如果有)必须放在所有选项及其参数之前;而选项自身可以按任何顺序显示。所有子命令、命令参数、选项和选项参数都是以空格分隔的。如果选项参数的值包含空格,则必须将整个值置于引号中。(将所有属性-值对置于引号中通常是最安全的做法。)
以下命令用于启动默认代理,它是不带子命令子句的命令行的示例:
imqbrokerd
下面是更完整的示例:
imqcmd destroy dst -t q -n myQueue -u admin -f -s
此命令销毁名为 myQueue 的队列目标(目标类型为 q)。验证是针对用户名 admin 执行的;此命令将提示用户输入密码。执行此命令时不提示用户进行确认(-f 选项),并且处于无提示模式,而不显示任何输出(-s 选项)。
代理实用程序代理实用程序 (imqbrokerd) 用于启动代理。命令行选项将覆盖代理配置文件中的值,但仅对当前代理会话有效。
表 13-1 显示了 imqbrokerd 命令的选项以及被每个选项覆盖的配置属性(如果有)。
表 13-1 代理实用程序选项
选项
被覆盖的属性
描述
-name instanceName
imq.instancename
代理的实例名称
在同一主机上运行的多个代理实例必须具有不同的实例名称。
默认值:imqbroker
-port portNumber
imq.portmapper.port
代理端口映射器的端口号
Message Queue 客户端使用此端口号连接到代理。在同一主机上运行的多个代理实例必须具有不同的端口映射器端口号。
默认值: 7676
-cluster broker1 [ [,broker2 ]... ]
imq.cluster.brokerlist
将代理连接到群集1
将指定的代理与 imq.cluster.brokerlist 属性中的列表合并。每个代理参数具有以下形式之一:
hostName:portNumber
hostName
:portNumber如果省略 hostName,则默认值为 localhost;如果省略 portNumber,则默认值为 7676。
-Dproperty=value
实例配置文件中对应的属性
设置配置属性
有关代理配置属性的信息,请参见第 14 章“代理属性参考”。
注意:请仔细检查使用此选项设置的属性的拼写和格式。不正确的值将被忽略,且系统不会给出任何通知或警告。
-reset props
无
重置配置属性
用空文件替换代理的现有实例配置文件 (config.properties);所有属性都采用默认值。
-reset store
无
重置持久性数据存储
从数据存储中清除所有持久性数据(包括持久性消息、长期订阅和事务信息),以便您可以启动一个无任何数据记录的代理实例。为了防止在以后重新启动时重置持久性存储,请不要使用 -reset 选项重新启动代理实例。
如果仅清除持久性消息或长期订阅,请改用 -reset messages 或 -reset durables。
-reset messages
无
从数据存储中清除持久性消息
-reset durables
无
从数据存储中清除长期订阅
-backup fileName
无
将配置更改记录备份到文件中1
有关更多信息,请参见管理配置更改记录。
-restore fileName
无
从备份文件中恢复配置更改记录1
该备份文件必须是以前使用 -backup 选项创建的。
有关更多信息,请参见管理配置更改记录。
-remove instance
无
删除代理实例2
删除与实例关联的实例配置文件、日志文件、持久性存储以及其他文件和目录。
-password keyPassword
imq.keystore.password
SSL 证书密钥库的密码3
-dbuser userName
imq.persist.jdbc.user
基于 JDBC 的持久性数据存储的用户名
-dbpassword dbPassword
imq.persist.jdbc.password
基于 JDBC 的持久性数据存储的密码3
-ldappassword ldapPassword
imq.user_repository.ldap.password
LDAP 用户系统信息库的密码3
-passfile filePath
imq.passfile.enabled
imq.passfile.dirpath
imq.passfile.name密码文件的位置
将代理的 imq.passfile.enabled 属性设置为 true,将 imq.passfile.dirpath 属性设置为包含密码文件的路径,将 imq.passfile.name 属性设置为文件名自身。
有关更多信息,请参见使用密码文件。
-shared
imq.jms.threadpool_model
使用共享线程池模型实现 jms 连接服务
将在连接之间共享执行线程,以增加支持的连接数。
将代理的 imq.jms.threadpool_model 属性设置为 shared。
-javahome path
无
可选 Java 运行时的位置
默认值:使用系统上安装的运行时或 Message Queue 附带的运行时。
-vmargs arg1 [ [ arg2 ] ... ]
无
将参数传递给 Java 虚拟机
参数是以空格分隔的。要传递多个参数或包含空格的参数,请将参数列表置于引号中。
只能从命令行中传递 VM 参数;在实例配置文件中没有关联的配置属性。
-license [ licenseName ]
无
要装入的许可证(如果与所安装的 Message Queue 产品版本的默认许可证不同):
pe 具有基本功能的
Platform Editiontry 具有企业功能的
Platform Edition(90 天试用版)unl Enterprise Edition
如果未指定许可证名称,此选项将列出系统上安装的所有许可证。
-upgrade-store-nobackup
无
从不兼容版本升级到 Message Queue 3.5 或 3.5 SPx 时自动删除旧的数据存储2
有关更多信息,请参见 Message Queue Installation Guide。
-force
无
执行操作时无需用户确认
此选项仅适用于 -remove instance 和 -upgrade-store-nobackup 选项,这两个选项通常要求确认。
-loglevel level
imq.broker.log.level
日志记录级别:
NONE
ERROR
WARNING
INFO默认值:INFO
-metrics interval
imq.metrics.interval
代理度量的日志记录时间间隔(以秒为单位)
-tty
imq.log.console.output
将所有消息记录到控制台
将代理的 imq.log.console.output 属性设置为 ALL。
如果未指定,将只记录错误和警告消息。
-s | -silent
imq.log.console.output
无提示模式(不向控制台记录消息)
将代理的 imq.log.console.output 属性设置为 NONE。
-version
无
显示版本信息4
-h | -help
无
显示使用帮助4
1此选项仅适用于代理群集。
2除非还指定了 -force,否则此选项将要求用户进行确认。
3不建议使用此选项,它最终将被删除。应完全省略密码(这样,命令将以交互方式提示用户输入密码)或使用 -passfile 选项来指定包含密码的密码文件。
4忽略命令行中指定的任何其他选项。
命令实用程序命令实用程序 (imqcmd) 用于管理代理、连接服务、连接、物理目标、长期订阅和事务。
所有 imqcmd 命令都必须包含一个子命令(使用 -v 或 -h 选项显示产品版本信息或使用帮助的命令除外)。下面列出了一些可用的子命令,并在后面的相应章节中进行了详细介绍。在任何情况下,如果子命令接受代理地址(-b 选项),并且未指定主机名或端口号,则默认情况下都将采用值 localhost 和 7676。
代理管理
无法使用命令实用程序启动代理,而应使用代理实用程序 (imqbrokerd)。代理启动后,您可以使用表 13-2 中列出的 imqcmd 子命令来管理和控制代理。
表 13-2 用于代理管理的命令实用程序子命令
语法
描述
shutdown bkr [-b hostName:portNumber]
关闭代理
restart bkr [-b hostName:portNumber]
重新启动代理
关闭代理,再使用最初启动代理时指定的选项重新启动代理。
pause bkr [-b hostName:portNumber]
暂停代理
有关更多信息,请参见暂停代理。
resume bkr [-b hostName:portNumber]
恢复代理
update bkr [-b hostName:portNumber]
-o property1=value1
[ [-o property2=value2] ... ]设置代理属性
有关代理属性的信息,请参见第 14 章“代理属性参考”。
reload cls
重新装入群集配置1
将所有持久性信息强制更新为最新状态。
query bkr -b hostName:portNumber
列出代理属性值
还列出连接到群集中指定代理的所有正在运行的代理。
metrics bkr [-b hostName:portNumber]
[-m metricType]
[-int interval]
[-msp numSamples]显示代理度量
-m 选项指定要显示的度量的类型:
ttl 流入和流出
代理的消息和包rts 消息和包流入
流出代理的速率(以一秒为衡量单位)cxn 连接、虚拟内存堆和
线程默认值:ttl。
-int 选项指定显示度量的时间间隔(以秒为单位)。默认值:5。
-msp 选项指定要显示的样例的数量。默认值:无限制(无穷多)。
1此选项仅适用于代理群集。
连接服务管理
表 13-3 列出了用于管理连接服务的 imqcmd 子命令。
表 13-3 用于连接服务管理的命令实用程序子命令
语法
描述
pause svc -n serviceName
[-b hostName:portNumber]暂停连接服务
无法暂停 admin 连接服务。
resume svc -n serviceName
[-b hostName:portNumber]恢复连接服务
update svc -n serviceName
[-b hostName:portNumber]
-o property1=value1
[ [-o property2=value2] ... ]设置连接服务属性
有关连接服务属性的信息,请参见连接属性。
list svc [-b hostName:portNumber]
列出代理中可用的连接服务
query svc -n serviceName
[-b hostName:portNumber]列出连接服务属性值
metrics svc -n serviceName
[-b hostName:portNumber]
[-m metricType]
[-int interval]
[-msp numSamples]显示连接服务度量
-m 选项指定要显示的度量的类型:
ttl 通过指定的连接服务
流入和流出代理
的消息和包rts 消息和包通过指定的连接服务
流入流出代理
的速率(以一秒为衡量单位)cxn 连接、虚拟内存堆和
线程默认值:ttl。
-int 选项指定显示度量的时间间隔(以秒为单位)。默认值:5。
-msp 选项指定要显示的样例的数量。默认值:无限制(无穷多)。
连接管理
表 13-4 列出了用于管理连接的 imqcmd 子命令。
表 13-4 用于连接服务管理的命令实用程序子命令
语法
描述
list cxn [-svn serviceName]
[-b hostName:portNumber]列出代理中的连接
列出代理到指定连接服务的所有连接。如果未指定连接服务,则列出所有连接。
query cxn -n connectionID
[-b hostName:portNumber]显示连接信息
物理目标管理
表 13-5 列出了用于管理物理目标的 imqcmd 子命令。在任何情况下,-t(目标类型)选项都可以采用以下两个值之一:
q 队列目标
t 主题目标
表 13-5 用于物理目标管理的命令实用程序子命令
语法
描述
create dst -t destType -n destName
[-o property1=value1]
[ [-o property2=value2] ...]创建物理目标1
目标名称 destName 只能包含字母数字字符(不包括空格),并且必须以字母字符开头,或者以下划线 (_) 或美元符号 ($) 开头。目标名称不能以字符 mq 开头。
destroy dst -t destType -n destName
销毁物理目标1
此操作不能应用于系统创建的目标,如停用消息队列。
pause dst [-t destType -n destName]
[-pst pauseType]暂停物理目标的消息传送
暂停由 -t 和 -n 选项指定的物理目标的消息传送。如果未指定这些选项,将暂停所有目标。
pst 选项指定要暂停的消息传送的类型:
CONSUMERS 暂停向消息
使用方传送消息PRODUCERS 暂停向消息生成方传送消息
ALL 暂停所有消息传送
默认值:ALL
resume dst [-t destType -n destName]
恢复物理目标的消息传送
恢复由 -t 和 -n 选项指定的物理目标的消息传送。如果未指定这些选项,将恢复所有目标。
update dst -t destType -n destName
-o property1=value1
[ [-o property2=value2] ...]设置物理目标属性
有关物理目标属性的信息,请参见第 15 章“物理目标属性参考”。
purge dst -t destType -n destName
清除来自物理目标的所有消息
compact dst [-t destType -n destName]
压缩物理目标
压缩物理目标(由 -t 和 -n 选项指定)的基于文件的持久性数据存储。如果未指定这些选项,将压缩所有目标。
压缩之前必须先暂停目标。
list dst [-t destType]
[-tmp]列出物理目标
列出某个类型的所有物理目标,该类型由 -t 选项指定。如果未指定任何目标类型,则同时列出队列目标和主题目标。如果指定了 -tmp 选项,还会列出临时目标。
query dst -t destType -n destName
列出物理目标属性值
metrics dst -t destType -n destName
[-m metricType]
[-int interval]
[-msp numSamples]显示物理目标度量
-m 选项指定要显示的度量的类型:
ttl 流入和流出目标以及驻留在内存中的消息和包
rts 消息和包流入和流出代理的速率(以秒为衡量单位),以及其他速率信息
con 与消息使用方相关的度量
dsk 磁盘使用情况
默认值:ttl。
-int 选项指定显示度量的时间间隔(以秒为单位)。默认值:5。
-msp 选项指定要显示的样例的数量。默认值:无限制(无穷多)。
1不能在主代理暂时不可用的代理群集中执行此操作。
长期订阅管理
表 13-6 列出了用于管理长期订阅的 imqcmd 子命令。
表 13-6 用于长期订阅管理的命令实用程序子命令
语法
描述
destroy dur -c clientID
-n subscriberName销毁长期订阅1
purge dur -c clientID
-n subscriberName清除来自长期订阅的所有消息
list dur -d topicName
列出主题的长期订阅
1不能在主代理暂时不可用的代理群集中执行此操作。
事务管理
表 13-7 列出了用于管理事务的 imqcmd 子命令。
表 13-7 用于事务管理的命令实用程序子命令
语法
描述
commit txn -n transactionID
提交事务
rollback txn -n transactionID
回滚事务
list txn
列出代理正在跟踪的事务
query txn -n transactionID
显示事务信息
常规命令实用程序选项
表 13-8 中列出的附加选项适用于 imqcmd 命令的所有子命令。
表 13-8 常规命令实用程序选项
选项
描述
-secure
通过 ssladmin 连接服务使用安全的代理连接
-u userName
用于验证的用户名
如果省略此选项,命令实用程序将以交互方式提示用户输入用户名。
-p password
用于验证的密码1
-passfile path
密码文件的位置
有关更多信息,请参见使用密码文件。
-rtm timeoutInterval
初始超时时间间隔(以秒为单位)
初始超时时间间隔是命令实用程序最初等待代理回复的时间长度,超过此时间后,将重试请求。随后的每次重试都将使用此初始时间间隔的倍数作为超时时间间隔。
默认值:-10。
-rtr numRetries
代理请求超时后尝试重试的次数
默认值:5。
-javahome path
可选 Java 运行时的位置
默认值:使用系统上安装的运行时或 Message Queue 附带的运行时。
-f
执行操作时无需用户确认
-s
无提示模式(不显示输出)
-v
-h
-H
1不建议使用此选项,它最终将被删除。应完全省略密码(这样,命令将以交互方式提示用户输入密码)或使用 -passfile 选项来指定包含密码的密码文件。
2忽略命令行中指定的其他任何选项。
3此选项不需要用户名和密码。
对象管理器实用程序对象管理器实用程序 (imqobjmgr) 用于创建和管理 Message Queue 受管理对象。表 13-9 列出了可用的子命令。
表 13-9 对象管理器子命令
子命令
描述
add
向对象存储中添加受管理对象
delete
从对象存储中删除受管理对象
list
列出对象存储中的受管理对象
query
显示受管理对象的信息
update
修改受管理对象
表 13-10 列出了 imqobjmgr 命令的选项。
表 13-10 对象管理器选项
选项
描述
-l lookupName
受管理对象的 JNDI 查找名称
-j attribute=value
JNDI 对象存储的属性(请参见对象存储)
-t objectType
受管理对象的类型:
q 队列目标
t 主题目标
cf 连接工厂
qf 队列连接工厂
tf 主题连接工厂
xcf 分布式事务的连接工厂
xqf 分布式事务的队列连接工厂
xtf 分布式事务的主题连接工厂
e SOAP 端点(请参见 Message Queue Developer's Guide for JavaClients )
-o attribute=value
受管理对象的属性(请参见受管理对象的属性和第 16 章“受管理对象属性参考”)
-r readOnlyState
受管理对象是否为只读?
如果为 true,客户端将无法修改对象的属性。默认值:false。
-i fileName
包含所有或部分子命令子句的命令文件的名称
-pre
预览结果但不执行命令
此选项对于检查默认属性值很有用。
-javahome path
可选 Java 运行时的位置
默认值:使用系统上安装的运行时或 Message Queue 附带的运行时。
-f
执行操作时无需用户确认
-s
无提示模式(不显示输出)
-v
显示版本信息1
-h
显示使用帮助1
-H
显示详细的使用帮助,包括属性列表和示例1
1忽略命令行中指定的任何其他选项。
数据库管理器实用程序数据库管理器实用程序 (imqdbmgr) 为基于 JDBC 的持久性数据存储建立数据库结构。您还可以使用它删除已损坏的 Message Queue 数据库表或更改数据存储。表 13-11 列出了可用的子命令。
表 13-12 列出了 imqdbmgr 命令的选项。
表 13-12 数据库管理器选项
选项
描述
-b instanceName
代理的实例名称
-Dproperty=value
设置代理配置属性
有关与持久性相关的代理配置属性的信息,请参见持久性属性。
注意:请仔细检查使用此选项设置的属性的拼写和格式。不正确的值将被忽略,且系统不会给出任何通知或警告。
-u name
用于验证的用户名
-p password
用于验证的密码1
-passfile path
密码文件的位置
有关更多信息,请参见使用密码文件。
-v
显示版本信息2
-h
显示使用帮助2
1不建议使用此选项,它最终将被删除。应完全省略密码(这样,命令将以交互方式提示用户输入密码)或使用 -passfile 选项来指定包含密码的密码文件。
2忽略命令行中指定的其他任何选项。
用户管理器实用程序用户管理器实用程序 (imqusermgr) 用于填充或编辑平面文件用户系统信息库。该实用程序必须在安装代理的主机上运行;如果尚不存在特定于代理的用户系统信息库,您必须首先启动相应的代理实例来创建它。此外,您还必须具有写入系统信息库的适当权限:在 Solaris 或 Linux 平台上,这意味着您必须是 root 用户或最初创建代理实例的用户。
表 13-13 列出了可以与 imqusermgr 命令一起使用的子命令。在任何情况下,-i 选项都指定代理的实例名称,该代理的用户系统信息将应用此命令;如果未指定,将采用默认名称 imqbroker。
此外,表 13-14 中列出的选项适用于 imqusermgr 命令的所有子命令。
表 13-14 常规用户管理器选项
选项
描述
-f
执行操作时无需用户执行操作,也无需用户确认。
-s
无提示模式(不显示输出)
-v
显示版本信息1
-h
显示使用帮助1
1忽略命令行中指定的其他任何选项。
服务管理器实用程序服务管理器实用程序 (imqsvcadmin) 将代理作为 Windows 服务安装。表 13-15 列出了可用的子命令。
表 13-15 服务管理器子命令
子命令
描述
install
安装服务
remove
删除服务
query
显示启动选项
启动选项可以包括服务的启动方式(手动还是自动)、服务的位置、Java 运行时的位置以及启动时传递给代理的参数值。
表 13-16 列出了 imqsvcadmin 命令的选项。
表 13-16 服务管理器选项
选项
描述
-javahome path
可选 Java 运行时的位置
默认值:使用系统上安装的运行时或 Message Queue 附带的运行时。
-jrehome path
可选 Java 运行环境 (Java Runtime Environment, JRE) 的位置
-vmargs arg1 [ [arg2] ... ]
要传递给运行代理服务的 Java 虚拟机的其他参数1
示例:
imqsvcadmin install -vmargs "-Xms16m -Xmx128m"
-args arg1 [ [arg2] ... ]
要传递给代理服务的其他命令行参数1
示例:
imqsvcadmin install -args "-passfile d:\imqpassfile"
有关代理命令行参数的信息,请参见代理实用程序。
-h
显示使用帮助2
1还可以在服务“属性”窗口(可以通过 Windows“管理工具”控制面板中的“服务”工具访问此窗口)“常规”选项卡下的“启动参数”字段中指定这些参数。
2忽略命令行中指定的任何其他选项。
使用 -javahome、-vmargs 和 -args 选项指定的所有信息都存储在 Window 注册表项 JavaHome、JVMArgs 和 ServiceArgs 下,这些注册表项的路径为:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iMQ_Broker\Paramet ers
密钥工具实用程序密钥工具实用程序 (imqkeytool) 为代理生成自签名证书,该证书可用于 ssljms、ssladmin 或 cluster 连接服务。语法为:
imqkeytool -broker
在 UNIX 系统上,您可能需要使用超级用户 (root) 帐户来运行该实用程序。