Sun Java System Message Queue 3.7 UR1 管理指南

第 13 章 命令行参考

本章提供了有关使用 Message QueueTM 命令行管理实用程序的参考信息。 本章包含以下各节:

命令行语法

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

将代理连接到群集 [仅适用于代理群集]

将指定的代理与 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

无 

将配置更改记录备份到文件中

有关详细信息,请参见管理配置更改记录

-restore fileName

无 

从备份文件中恢复配置更改记录

该备份文件必须是以前使用 -backup 选项创建的。

有关详细信息,请参见管理配置更改记录

-remove instance

无 

删除代理实例 [除非还指定了 -force,否则要求用户进行确认。]

删除与实例关联的实例配置文件、日志文件、持久性存储库以及其他文件和目录。 

-password keyPassword

imq.keystore.password

SSL 证书密钥库的密码 [不建议使用此选项,它最终将被删除。请省略该密码(这样,系统将以交互的方式提示用户输入密码)或使用 -passfile 选项来指定包含密码的文件。]

-dbuser userName

imq.persist.jdbc.user

基于 JDBC 的持久性数据存储库的用户名

-dbpassword dbPassword

imq.persist.jdbc.password

基于 JDBC 的持久性数据存储库的密码

-ldappassword ldapPassword

imq.user_repository.ldap.password

LDAP 用户系统信息库的密码

-passfile filePath

imq.passfile.enabledimq.passfile. dirpathimq.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 Edition


    try:具有企业功能的 Platform Edition(90 天试用版)


    unl:Enterprise Edition


如果未指定许可证名称,此选项将列出系统上安装的所有许可证。 

-upgrade-store-nobackup

无 

从不兼容版本升级到 Message Queue 3.5 或 3.5 SPx 时自动删除旧的数据存储库

有关详细信息,请参见 Message Queue 安装指南

-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

无 

显示版本信息 [忽略命令行中指定的任何其他选项。]

-h | -help

无 

显示使用帮助

命令实用程序

命令实用程序 (imqcmd) 用于管理代理、连接服务、连接、物理目的地、长期订阅和事务。

所有 imqcmd 命令都必须包含一个子命令(使用 -v-h 选项显示产品版本信息或使用帮助的命令除外)。下面列出了一些可用的子命令,并在后面的相应章节中进行了详细介绍。在任何情况下,如果子命令接受代理地址(-b 选项),并且未指定主机名或端口号,则默认情况下都将采用值 localhost7676

代理管理

shutdown bkr

关闭代理 

restart bkr

重新启动代理 

pause bkr

暂停代理 

resume bkr

恢复代理 

update bkr

设置代理属性 

reload cls

重新装入群集配置 

query bkr

列出代理属性值 

metrics bkr

显示代理度量 

连接服务管理

pause svc

暂停连接服务 

resume svc

恢复连接服务 

update svc

设置连接服务属性 

list svc

列出代理中可用的连接服务 

query svc

列出连接服务属性值 

metrics svc

显示连接服务度量 

连接管理

list cxn

列出代理中的连接 

query cxn

显示连接信息 

物理目的地管理

create dst

创建物理目的地 

destroy dst

销毁物理目的地 

pause dst

暂停物理目的地的消息传送 

resume dst

恢复物理目的地的消息传送 

update dst

设置物理目的地属性 

purge dst

清除来自物理目的地的所有消息 

compact dst

压缩物理目的地 

list dst

列出物理目的地 

query dst

列出物理目的地属性值 

metrics dst

显示物理目的地度量 

长期订阅管理

destroy dur

销毁长期订阅 

purge dur

清除来自长期订阅的所有消息 

list dur

列出主题的长期订阅 

事务管理

commit txn

提交事务 

rollback txn

回滚事务 

list txn

列出代理正在跟踪的事务 

query txn

显示事务信息 

代理管理

无法使用命令实用程序启动代理,而应使用代理实用程序 (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

重新装入群集配置 [仅适用于代理群集。]

将所有持久性信息强制更新为最新状态。 

query bkr -b hostName :portNumber

列出代理属性值 

还列出连接到群集中指定代理的所有正在运行的代理。 

metrics bkr [-b hostName :portNumber]

    [-m metricType]


    [-int interval]


    [-msp numSamples]


显示代理度量 

-m 选项指定要显示的度量的类型:

    ttl:流入和流出代理的消息和包


    rts:消息和包流入和流出代理的速率(以一秒为衡量单位)


    cxn:连接、虚拟内存堆和线程


默认值:ttl

-int 选项指定显示度量的时间间隔(以秒为单位)。默认值:5

-msp 选项指定要显示的样例的数量。默认值:无限制(无穷多)。

连接服务管理

表 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(目的地类型)选项都可以采用以下两个值之一:

表 13–5 用于物理目的地管理的命令实用程序子命令

语法 

描述 

create dst -t destType -n destName

    [-o property1 =value1]


    [ [ -o property2 =value2] … ]


创建物理目的地 [不能在主代理暂时不可用的代理群集中执行]

目的地名称 destName 只能包含字母数字字符(不包括空格),并且必须以字母字符开头,或者以下划线 (_) 或美元符号 ($) 开头。目的地名称不能以字符 mq 开头。

destroy dst -t destType -n destName

销毁物理目的地

此操作不能应用于系统创建的目的地,如停用消息队列。 

pause dst [-t destType -n destName]

    [-pst pauseType]


暂停物理目的地的消息传送

暂停由 -t-n 选项指定的物理目的地的消息传送。如果未指定这些选项,将暂停所有目的地。

-pst 选项指定要暂停的消息传送的类型:

    CONSUMERS:暂停向消息使用方传送消息


    PRODUCERS:暂停向消息生成方传送消息


    ALL:暂停所有消息传送


默认值:ALL

resume dst [-t destType -ndestName]

恢复物理目的地的消息传送 

恢复由 -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 选项指定要显示的样例的数量。默认值:无限制(无穷多)。

长期订阅管理

表 13–6 列出了用于管理连接服务的 imqcmd 子命令。

表 13–6 用于长期订阅管理的命令实用程序子命令

语法 

描述 

destroy dur -c clientID

    -n subscriberName


销毁长期订阅 [不能在主代理暂时不可用的代理群集中执行]

purge dur -c clientID

    -n subscriberName


清除来自长期订阅的所有消息

list dur -d topicName

列出主题的长期订阅

事务管理

表 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

用于验证的密码 [不建议使用此选项,它最终将被删除。请省略该密码(这样,系统将以交互的方式提示用户输入密码)或使用 -passfile 选项来指定包含密码的文件。]

-passfile path

密码文件的位置 

有关详细信息,请参见密码文件

-rtm timeoutInterval

初始超时时间间隔(以秒为单位) 

初始超时时间间隔是命令实用程序最初等待代理回复的时间长度,超过此时间后,将重试请求。随后的每次重试都将使用此初始时间间隔的倍数作为超时时间间隔。 

默认值:10

-rtr numRetries

代理请求超时后尝试重试的次数 

默认值:5

-javahome path

可选 Java 运行时环境的位置

默认行为:使用系统上安装的运行时环境或 Message Queue 附带的运行时环境。

-f

执行操作时无需用户确认 

-s

无提示模式(不显示输出) 

-v

显示版本信息 [忽略命令行中指定的任何其他选项。] , [不需要用户名和密码]

-h

显示使用帮助,

-H

显示详细的使用帮助,包括属性列表和示例,

对象管理器实用程序

对象管理器实用程序 (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 Java Clients


-o attribute= value

受管理对象的属性(请参见受管理对象的属性第 16 章,受管理对象属性参考

-r readOnlyState

受管理对象是否为只读? 

如果为 true,客户端将无法修改对象的属性。默认值:false

-i fileName

包含所有或部分子命令子句的命令文件的名称 

-pre

预览结果但不执行命令 

此选项对于检查默认属性值很有用。 

-javahome path

可选 Java 运行时环境的位置

默认行为:使用系统上安装的运行时环境或 Message Queue 附带的运行时环境。

-f

执行操作时无需用户确认 

-s

无提示模式(不显示输出) 

-v

显示版本信息 [忽略命令行中指定的任何其他选项。]

-h

显示使用帮助

-H

显示详细的使用帮助,包括属性列表和示例

数据库管理器实用程序

数据库管理器实用程序 (imqdbmgr) 为基于 JDBC 的持久性数据存储库建立数据库结构。您还可以使用它删除已损坏的 Message Queue 数据库表或更改数据存储库。表 13–11 列出了可用的子命令。

表 13–11 数据库管理器子命令

子命令 

描述 

create all

创建新的数据库和持久性存储库结构 

用于嵌入式数据库系统。必须指定代理属性 imq.persist.jdbc.createdburl

create tbl

为现有数据库创建持久性存储库结构 

用于外部数据库系统。 

delete tbl

从当前持久性存储库中删除 Message Queue 数据库表 

delete oldtbl

从较早版本的持久性存储库中删除 Message Queue 数据库表 

在持久性存储库自动迁移到 Message Queue 当前版本后使用。 

recreate tbl

重新创建持久性存储库结构 

从当前的持久性存储库中删除所有现有的 Message Queue 数据库表,然后重新创建结构。 

reset lck

重置持久性存储库锁 

对锁进行重置,以便其他进程可以使用该持久性存储数据库。 

表 13–12 列出了 imqdbmgr 命令的选项。

表 13–12 数据库管理器选项

选项 

描述 

-b instanceName

代理的实例名称 

-Dproperty= value

设置代理配置属性 

有关与持久性相关的代理配置属性的信息,请参见持久性属性

注意:请仔细检查使用此选项设置的属性的拼写和格式。不正确的值将被忽略,且系统不会给出任何通知或警告。

-u name

用于验证的用户名 

-p password

用于验证的密码 [不建议使用此选项,它最终将被删除。请省略该密码(这样,系统将以交互的方式提示用户输入密码)或使用 -passfile 选项来指定包含密码的文件。]

-passfile path

密码文件的位置 

有关详细信息,请参见密码文件

-v

显示版本信息 [忽略命令行中指定的任何其他选项。]

-h

显示使用帮助

用户管理器实用程序

用户管理器实用程序 (imqusermgr) 用于填充或编辑平面文件用户系统信息库。该实用程序必须在安装代理的主机上运行;如果尚不存在特定于代理的用户系统信息库,您必须首先启动相应的代理实例来创建它。此外,您还必须具有写入系统信息库的适当权限:在 Solaris 或 Linux 平台上,这意味着您必须是 root 用户或最初创建代理实例的用户。

表 13–13 列出了可以与 imqusermgr 命令一起使用的子命令。在任何情况下,-i 选项都指定代理的实例名称,该代理的用户系统信息将应用此命令;如果未指定,将采用默认名称 imqbroker

表 13–13 用户管理器子命令

语法 

描述 

add [-i instanceName]

    -u userName -p password


    [-g group]


向系统信息库中添加用户和密码 

-g 选项可选,它指定要将此用户指定到的组:

    admin


    user


    anonymous


delete [-i instanceName]

    -u userName


从系统信息库中删除用户 

update [-i instanceName]

    -u userName -p password


    [-a activeState]


update [-i instanceName]

    -u userName -a activeState


    [-p password]


设置用户的密码和/或活动状态 

-a 选项采用布尔值,它指定使用户处于活动状态 (true) 还是非活动状态 (false)。默认值:true

list [-i instanceName]

    [-u userName]


显示用户信息。 

如果未指定用户名,则列出系统信息库中的所有用户。 

此外,表 13–14 中列出的选项适用于 imqusermgr 命令的所有子命令。

表 13–14 常规用户管理器选项

选项 

描述 

-f

执行操作时无需用户确认 

-s

无提示模式(不显示输出) 

-v

显示版本信息 [忽略命令行中指定的任何其他选项。]

-h

显示使用帮助

服务管理器实用程序

服务管理器实用程序 (imqsvcadmin) 将代理作为 Windows 服务安装。表 13–15 列出了可用的子命令。

表 13–15 服务管理器子命令

子命令 

描述 

install

安装服务 

remove

删除服务 

query

显示启动选项 

启动选项可以包括服务的启动方式(手动还是自动)、服务的位置、Java 运行时环境的位置以及启动时传递给代理的参数值(请参见表 13–16)。

表 13–16 列出了 imqsvcadmin 命令的选项。

表 13–16 服务管理器选项

选项 

描述 

-javahome path

可选 Java 运行时环境的位置

默认行为:使用系统上安装的运行时环境或 Message Queue 附带的运行时环境。

-jrehome path

可选 Java 运行时环境 (Java Runtime Environment, JRE) 的位置

-vmargs arg1 [ [arg2 ] … ]

要传递给运行代理服务的 Java 虚拟机 (Java Virtual Machine, JVM) 的其他参数 [还可以在服务“属性”窗口(可以通过 Windows“管理工具”控制面板中的“服务”工具访问此窗口)“常规”选项卡下的“启动参数”字段中指定这些参数。]

示例:

imqsvcadmin install -vmargs "-Xms16m -Xmx128m"

-args arg1 [ [arg2] … ]

要传递给代理服务的其他命令行参数

示例:

imqsvcadmin install -args "-passfile d:\\imqpassfile"

有关代理命令行参数的信息,请参见代理实用程序

-h

显示使用帮助 [忽略命令行中指定的任何其他选项。]

使用 -javahome-vmargs-args 选项指定的所有信息都存储在 Window 注册表主键 JREHomeJVMArgsServiceArgs 下,这些注册表主键的路径为:

   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iMQ_Broker\Parameters

密钥工具实用程序

密钥工具实用程序 (imqkeytool) 为代理生成自签名证书,该证书可用于 ssljmsssladmincluster 连接服务。语法为:

   imqkeytool -broker

在 UNIX 系统上,您可能需要使用超级用户 (root) 帐户来运行该实用程序。