Sun Java System Message Queue 3.7 UR1 管理指南

管理连接服务

imqcmd 实用程序包含可用于执行以下连接服务管理任务的子命令:

代理既支持来自应用程序客户端的连接 ,也支持来自管理客户端的连接。表 5–1 显示了 Message Queue 代理中当前可用的连接服务。 如该表所示,每项服务都与它所使用的服务类型(对于应用程序客户端是 NORMAL ,对于管理客户端是 ADMIN)和底层传输协议关联。

表 5–1 Message Queue 连接服务

服务名称 

服务类型 

协议类型

jms

NORMAL

TCP

ssljms (Enterprise Edition)

NORMAL

TLS(基于 SSL 的安全性)

httpjms (Enterprise Edition)

NORMAL

HTTP

httpsjms (Enterprise Edition)

NORMAL

HTTPS(基于 SSL 的安全性)

admin

ADMIN

TCP 

ssladmin (Enterprise Edition)

ADMIN

TLS(基于 SSL 的安全性) 

您可以使用 imqcmd 子命令将连接服务作为一个整体进行管理,也可以管理某项特定的连接服务。如果子命令的目标是某项特定的服务,请使用 -n 选项指定表 5–1 的“服务名称”列中列出的某个名称。

列出连接服务

要列出代理中可用的连接服务,请使用 list svc 子命令。

下面是 list svc 子命令的语法:

imqcmd list svc [-b hostName:
portNumber]

此子命令列出默认代理或指定主机和端口上的代理中的所有连接服务。

以下命令列出在 localhost 端口 7676 上运行的代理中的所有服务:

imqcmd list svc -u admin

该命令将输出如下信息:


------------------------------------------------
Service Name    Port Number        Service State
------------------------------------------------
admin           41844 (dynamic)    RUNNING
httpjms         -                  UNKNOWN
httpsjms        -                  UNKNOWN
jms             41843 (dynamic)    RUNNING
ssladmin        dynamic            UNKNOWN
ssljms          dynamic            UNKNOWN

显示连接服务信息

要查询并显示某项服务的信息,请使用 query 子命令。

下面是 query svc 子命令的语法:

imqcmd query svc -n serviceName [-b 
hostName:portNumber]

query svc 子命令显示在默认代理或指定主机和端口上的代理中运行的指定服务的相关信息。

例如:

imqcmd query svc -n jms -u admin

提示输入密码后,此命令将产生类似如下内容的输出:


Service Name                           jms
Service State                          RUNNING
Port Number                            60920 (dynamic)
                                     
Current Number of Allocated Threads    0
Current Number of Connections          0
                                     
Min Number of Threads                  10
Max Number of Threads                  1000

更新连接服务属性

可以使用 update 子命令更改表 5–2 中列出的一个或多个服务属性的值。

表 5–2 imqcmd 更新的连接服务属性

属性 

描述 

port

为要更新的服务指定的端口(不适用于 httpjms 或 httpsjms)。值为 0 表示端口由端口映射器动态分配。

minThreads

至少应分配给服务的线程数。

maxThreads

最多可分配给服务的线程数。 

下面是 update 子命令的语法:

imqcmd update svc -n serviceName [-b 
hostName:portNumber] 
         -o attribute=value [-o 
attribute=value1]

该子命令更新在默认代理或指定主机和端口上的代理中运行的指定服务的指定属性。有关服务属性的说明,请参见连接属性

以下命令将至少应分配给 jms 服务的线程数更改为 20。

imqcmd update svc -n jms -o “minThreads=20” -u admin

显示连接服务度量

要显示有关某个服务的度量信息,请使用 metrics 子命令。

下面是 metrics 子命令的语法:

imqcmd metrics svc -n serviceName [-b 
hostName:portNumber] [-m metricType
]
     [-int interval] [-msp numSamples]

此子命令显示默认代理或指定主机和端口上的代理中指定服务的度量。

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

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

可以使用 -msp 选项来指定在输出中显示的样例的数量。默认为无限制(无穷多)。

例如,要获得 jms 连接服务处理的消息和包的累计总数,请使用以下命令:

imqcmd metrics svc -n jms -m ttl -u admin

提示输入密码后,此命令将产生类似如下内容的输出:


-------------------------------------------------
  Msgs      Msg Bytes      Pkts      Pkt Bytes   
In   Out    In     Out   In   Out    In     Out  
-------------------------------------------------
164  100  120704  73600  282  383  135967  102127
657  100  483552  73600  775  876  498815  149948

有关使用 imqcmd 来报告连接服务度量的详细说明,请参见连接服务度量

暂停和恢复连接服务

要暂停除管理服务之外的其他任何服务(不能暂停管理服务),请使用 pause svcresume svc 子命令。

下面是 pause svc 子命令的语法:

imqcmd pause svc -n serviceName [-b 
hostName:portNumber]

此子命令暂停在默认代理或指定主机和端口上的代理中运行的指定服务。例如,以下命令暂停在默认代理上运行的 httpjms 服务。

imqcmd pause svc -n httpjms -u admin

暂停服务有如下影响:

要恢复服务,请使用 resume svc 子命令。

下面是 resume svc 子命令的语法:

imqcmd resume svc -n serviceName[-b 
hostName:portNumber]

此子命令恢复在默认代理或指定主机和端口上的代理中运行的指定服务。