Sun Java System Message Queue 3.7 UR1 管理指南

连接处理

表 16–1 列出了用于连接处理的连接工厂属性。

表 16–1 用于连接处理的连接工厂属性

属性 

类型 

默认值 

描述 

imqAddressList

字符串 

现有的 Message QueueTM 3.0 地址(如果有);如果没有,则使用表 16–2 中的第一个条目。

代理地址的列表 

该列表中包含一个或多个用逗号分隔的代理地址。每个地址指定(或表示)客户端可以连接的代理实例的主机名、端口号和连接服务。地址语法因连接服务及端口分配方法而异;有关详细信息,请参见下文。 

imqAddressListBehavior

字符串 

PRIORITY

尝试连接到代理地址的顺序: 

    PRIORITY:地址列表中指定的顺序


    RANDOM:随机顺序



注 –

如果多个客户端共享同一连接工厂,则指定随机连接顺序可防止所有客户端尝试连接到同一地址。


imqAddressListIterations

整数 

5

重复访问地址列表以尝试建立或重新建立连接的次数。 

值为 -1 表示不限制重复次数。

imqPingInterval

整数 

30

测试客户端与代理之间的连接的时间间隔(以秒为单位) 

如果值为 0-1,将禁止定期测试连接。

imqReconnectEnabled

布尔值 

false

是否尝试重新建立断开的连接? 

imqReconnectAttempts

整数 

0

尝试连接(或重新连接)到地址列表中每个地址的次数,超过该次数后,将移动到下一个地址。 

值为 -1 表示不限制尝试连接尝试次数:将反复尝试连接到第一个地址,直至成功。

imqReconnectInterval

长整型 

3000

两次重新连接尝试的时间间隔(以毫秒为单位)。 

此值适用于针对给定地址的连续尝试,也适用于列表中的连续地址。 


注 –

此值过小可能会导致代理没有足够的恢复时间;而此值过大则可能会导致无法接受的连接延迟。


imqSSLIsHostTrusted

布尔值 

true

是否信任代理提供的任何证书? 

如果为 false, 则 Message Queue 客户端运行时环境将验证所有提供给它的证书。如果证书的签名不在客户端的信任存储库中,验证将失败。

如果为 true,则跳过证书验证。这在使用自签名证书的软件测试期间非常有用。

注意:要使用来自证书颁发机构的签名证书,请将此属性设置为 false

imqAddressList 属性的值是由逗号分隔的字符串,它指定要连接的一个或多个代理地址。 每个地址的一般语法如下:

   
scheme://address

其中 scheme 标识表 16–2 第一列中所示的某个寻址方案, address 表示代理地址本身。 用于指定地址的确切语法取决于寻址方案,如表中最后一列所示。

表 16–2 消息代理寻址方案

方案 

服务 

语法 

描述 

mq

jmsssljms

[hostName][:portNumber ][/serviceName]

jmsssljms 连接服务动态指定端口。

地址列表条目指定 Message Queue 端口映射器的主机名和端口号。端口映射器本身动态指定用于连接的端口。 

默认值:

    hostName = localhost


    portNumber = 7676


    serviceName = jms


对于 ssljms 连接服务,必须明确指定所有变量。

mqtcp

jms

hostName:portNumber /jms

使用 jms 连接服务连接到指定端口。

绕过端口映射器,直接与指定的主机名和端口号建立 TCP 连接。

mqssl

ssljms

hostName:portNumber /ssljms

使用 ssljms 连接服务连接到指定端口。

绕过端口映射器,直接与指定的主机名和端口号建立安全的 SSL 连接。

http

httpjms

http://hostName: portNumber/contextRoot /tunnel

如果多个代理实例使用同一隧道 servlet,则使用以下语法将会连接到特定代理实例而非随机选择的实例: 

http://hostName: portNumber/contextRoot /tunnel?

    ServerName=hostName :instanceName


使用 httpjms 连接服务连接到指定端口。

与位于指定 URL 的 Message Queue 隧道 Servlet 建立 HTTP 连接。 必须将代理配置为访问 HTTP 隧道 servlet。

https

httpsjms

https://hostName: portNumber/contextRoot /tunnel

如果多个代理实例使用同一隧道 servlet,则使用以下语法将会连接到特定代理实例而非随机选择的实例: 

https://hostName: portNumber/contextRoot /tunnel?

    ServerName=hostName :instanceName


使用 httpsjms 连接服务连接到指定端口。

与位于指定 URL 的 Message Queue 隧道 servlet 建立安全的 HTTPS 连接。必须将代理配置为访问 HTTPS 隧道 servlet。

表 16–3 消息代理地址示例

服务 

代理主机 

端口 

示例地址 

未指定 

未指定 

未指定 

无地址 (mq://localHost:7676/jms)

未指定 

指定的主机 

未指定 

myBkrHost (mq://myBkrHost:7676/jms)

未指定 

未指定 

指定的端口映射器端口 

1012 (mq://localHost:1012/jms)

ssljms

本地主机 

标准的端口映射器端口 

mq://localHost:7676/ssljms

ssljms

指定的主机 

标准的端口映射器端口 

mq://myBkrHost:7676/ssljms

ssljms

指定的主机 

指定的端口映射器端口 

mq://myBkrHost:1012/ssljms

jms

本地主机 

指定的服务端口 

mqtcp://localhost:1032/jms

ssljms

指定的主机 

指定的服务端口 

mqssl://myBkrHost:1034/ssljms

httpjms

不适用 

不适用 

http://websrvr1:8085/imq/tunnel

httpsjms

不适用 

不适用 

https://websrvr2:8090/imq/tunnel