跳到主要内容

数据连接属性

本节讨论与到事件代理的JMS连接相关的JMS属性。

认证方案

此属性指定认证方案。

  • 支持版本:对于基本和客户端证书认证方案,支持Solace PubSub+ 6.1及以上版本的事件代理。对于Kerberos认证方案,支持Solace PubSub+ 7.0及以上版本的事件代理。对于OAuth认证方案,支持Solace PubSub+ 9.13.1及以上版本的事件代理。
  • 类型:字符串
  • 格式必须是以下之一:
    • SupportedProperty.AUTHENTICATION_SCHEME_BASIC(用户名/密码认证)。这是默认的认证方案。
    • SupportedProperty.AUTHENTICATION_SCHEME_CLIENT_CERTIFICATE(客户端证书认证)
    • SupportedProperty.AUTHENTICATION_SCHEME_GSS_KRB(Kerberos)
    • SupportedProperty.AUTHENTICATION_SCHEME_OAUTH2(OAuth 2.0)
  • 默认值:SupportedProperty.AUTHENTICATION_SCHEME_BASIC

此属性适用于JNDI和数据连接。

属性源(按优先级降序)示例
初始上下文下面的示例展示了如何启用客户端证书认证。
env.put(SupportedProperty.SOLACE_JMS_AUTHENTICATION_SCHEME, SupportedProperty.AUTHENTICATION_SCHEME_CLIENT_CERTIFICATE);
JNDI属性文件Solace_JMS_Authentication_Scheme=AUTHENTICATION_SCHEME_BASIC
Solace_JMS_Authentication_Scheme=AUTHENTICATION_SCHEME_GSS_KRB
Solace_JMS_Authentication_Scheme=AUTHENTICATION_SCHEME_CLIENT_CERTIFICATE
Solace_JMS_Authentication_Scheme=AUTHENTICATION_SCHEME_OAUTH2

认证方案

浏览器超时

此属性指定队列浏览器Enumeration.hasMoreElements()在返回之前等待消息到达浏览器本地消息缓冲区的最大时间(以毫秒为单位)。如果已经有消息在等待,Enumeration.hasMoreElements()将立即返回。

  • 支持版本:Solace JMS API 6.2或更高版本。
  • 类型:整数
  • 格式:任意值。默认值为-1。值为0表示永远等待(Enumeration.hasMoreElements()仅在关闭浏览器时返回false)。值小于0将立即返回。
  • 默认值:–1
属性源(按优先级降序)示例
初始上下文下面的示例展示了如何将浏览器超时设置为10000毫秒。
env.put(SupportedProperty.SOLACE_JMS_BROWSER_TIMEOUT_IN_MS, "10000");
JNDI属性文件Solace_JMS_Browser_Timeout_In_MS=10000
系统-DSolace_JMS_Browser_Timeout_In_MS=10000

浏览器超时属性

客户端描述

此属性指定数据连接在事件代理上的应用程序描述。

  • 支持版本:Solace PubSub+ 5.0及以上版本的事件代理
  • 类型:字符串
  • 格式:最多254个ASCII字符。
  • 默认值:“”
属性源(按优先级降序)示例
初始上下文env.put(SupportedProperty.SOLACE_JMS_CLIENT_DESCRIPTION, “My Client Description”);
JNDI属性文件Solace_JMS_ClientDescription=My Client Description
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的客户端属性选项卡中的客户端描述框设置。
CLI/SEMP - 通过属性列表“client‑properties”中的属性“client-description”设置。

客户端描述属性

客户端ID

此属性指定数据连接在事件代理上的客户端名称。使用的默认客户端ID由API生成。

  • 支持版本:Solace PubSub+ 5.0及以上版本的事件代理
  • 类型:字符串
  • 格式:必须是有效的主题名称。支持最多160个字节的UTF-8编码。
  • 默认值:生成的客户端ID
属性源(按优先级降序)示例
JNDI连接工厂Soladmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的客户端属性选项卡中的客户端ID框设置。
CLI/SEMP - 通过属性列表“client‑properties”中的属性“client-id”设置。
使用此连接工厂的所有客户端都将具有相同的客户端ID。
JMS APIConnection.setClientID(String clientID);
如果在连接工厂中设置了客户端ID,则调用此函数将抛出javax.jms.IllegalStateException

客户端ID属性

压缩级别

此属性用于启用并指定ZLIB压缩级别。

  • 支持版本:Solace PubSub+事件代理
  • 类型:整数
  • 格式:压缩级别的有效值为-1到9。-1表示使用JNDI连接的压缩级别(参见压缩级别)。0表示不使用压缩。1到9启用数据压缩(其中1提供最少的压缩和最快的数据吞吐量,9提供最多的压缩和最慢的数据吞吐量)。
  • 默认值:–1
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的压缩级别框设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“compression‑level”设置。

压缩级别属性

连接重试次数

此属性指定如果首次连接失败,尝试数据连接的最大次数。如果此值为-1或大于1,并且使用了主机列表,则每次连接重试将根据连接重试属性设置的值遍历主机列表。

  • 类型:整数
  • 格式:有效值为-1到2147483647。0表示不执行任何自动连接重试(即,尝试一次后放弃);–1表示永远重试。
  • 默认值:0
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的连接重试框设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“connect-retries”设置。

连接重试次数属性

每个主机的连接重试次数

当使用主机列表作为URL属性时,此属性定义在转到列表中的下一个主机之前,尝试对单个主机进行数据连接尝试的次数。

  • 类型:整数
  • 格式:有效值为-1到2147483647。0表示不执行任何自动连接重试(即,尝试一次后放弃);–1表示永远重试(即,API仅尝试连接或重新连接到列表中的第一个主机)。
  • 默认值:0

此属性与连接和重新连接重试设置协同工作;它不取代它们。

属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的每个主机的连接重试框设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“connect‑retries-per-host”设置。

每个主机的连接重试次数属性

连接超时

此属性指定数据连接尝试的最大时间(以毫秒为单位)。

  • 类型:整数
  • 格式:有效值为0到2147483647。0表示永远等待。
  • 默认值:30000(即,30秒)
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的初始连接到设备的超时设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“connect‑timeout”设置。

连接超时属性

生成发送者ID

此属性指定API是否在发布的消息上生成发送者ID。如果指定了消息属性,则该值将优先于生成一个。

  • 支持版本:Solace PubSub+ 7.1及以上版本。
  • 类型:布尔值
  • 格式:[true|false]
  • 默认值:false
属性源(按优先级降序)示例
初始上下文env.put(SupportedProperty.SOLACE_JMS_GENERATE_SENDER_ID, true);
JNDI属性文件Solace_JMS_GenerateSenderId=true

生成发送者ID属性

保证消息重新连接失败操作

此属性指定在发布保证消息的客户端断开连接后要采取的操作。API可以执行以下操作之一:

  1. 清除发布者状态并重新连接发布者流。然后重新发布所有未确认的消息并引发SolProducerEvent(注意这可能导致重复)。
  2. 不自动尝试重新连接客户端。
  • 支持版本:Solace PubSub+ 7.1.2及以上版本。

  • 格式:有效值为SupportedProperty.GD_RECONNECT_FAIL_ACTION_AUTO_RETRYSupportedProperty.GD_RECONNECT_FAIL_ACTION_DISCONNECT

  • 默认值:SupportedProperty.GD_RECONNECT_FAIL_ACTION_AUTO_RETRY

属性源(按优先级降序)示例
系统-DSolace_JMS_GD_Reconnect_Fail_Action=gd_reconnect_fail_action_auto_retry
初始上下文env.put(SupportedProperty.SOLACE_JMS_GD_RECONNECT_FAIL_ACTION, SupportedProperty.GD_RECONNECT_FAIL_ACTION_AUTO_RETRY);

生成发送者ID属性

主机

此属性指定要连接的事件代理的IP地址和端口(可选)。

如果程序化创建连接工厂或从LDAP JNDI存储中查找连接工厂,则需要此属性。通过URL属性隐式设置的值将被Host属性提供的值覆盖,用于JNDI连接。

主机条目使用以下格式:

<URI Scheme>://[username]:[password]@<IP address>[:port]

其中:

URI Scheme是用于数据连接查找的统一资源标识符(URI)方案。有效值为:

  • smf—使用SMF进行应用与事件代理之间的明文通信。SMF是默认值。
  • smfs—使用TLS/SSL协议通过SMF进行应用与事件代理之间的安全通信
  • ws:ws://—使用WebSockets传输进行应用与事件代理之间的通信。
  • wss:wss://—使用WebSockets上的TLS/SSL通道进行应用与事件代理之间的安全通信。

username是连接到事件代理所需的用户名。客户端用户名可以由单个或多个JMS客户端使用。

password是连接时需要认证的用户名密码。

IP address是作为JMS代理的事件代理的IP地址(或主机名)。要指定客户端可以尝试连接的优先主机列表,请按重要性顺序列出每个IP地址,用逗号分隔。

port是用于建立连接的端口号。仅当客户端需要使用自动分配的默认端口号以外的端口时,才需要提供值。不使用压缩时的默认端口号为55555,使用压缩时为55003。TLS/SSL连接(无论是否使用压缩)的默认端口为55443。

  • 类型:字符串
  • 格式:smf://username:password@ipaddress:port
  • 默认值:无

提供的URL参数用于JNDI连接和JMS数据连接。当JNDI和JMS数据连接都是针对提供JNDI和JMS服务的事件代理时,这非常有用。但是,当要使用的JNDI存储托管在LDAP服务器上,而事件代理仅用于JMS代理时,创建JMS连接时在连接工厂中指定的参数可以覆盖用于JNDI连接的指定URL参数。

属性源(按优先级降序)示例
初始上下文env.put(InitialContext.PROVIDER_HOST, “smf://user:pwd@192.168.1.1:55555”);
系统-Djava.naming.provider.host=smf://192.168.1.1
JNDI属性文件java.naming.provider.url=smf://192.168.1.1,smf://192.168.2.1
Host=smf://192.168.1.1,smf://192.168.2.1
此示例显示了事件代理的优先列表。

主机属性

JAAS登录上下文

此属性指定应用程序在实例化LoginContext时用于引用登录配置文件中的条目的名称。

  • 类型:字符串
  • 格式:指代登录配置文件中的条目名称。
  • 默认值:SolaceGSS
属性源(按优先级最高)示例
初始上下文env.put(SupportedProperty.SOLACE_JMS_JAAS_LOGIN_CONTEXT, “SolaceGSS”);

JAAS登录上下文属性

JAAS配置文件重新加载启用

当此属性为true时,表示在连接或重新连接到事件代理之前,将重新加载登录配置文件。

  • 类型:布尔值
  • 格式:[true|false]
  • 默认值:false(禁用)
属性源(按优先级最高)示例
初始上下文env.put(SupportedProperty.SOLACE_JMS_JAAS_CONFIG_FILE_RELOAD_ENABLED, true);

JAAS配置文件重新加载启用属性

JMSMessage ID模式

此属性用于指定API应如何生成JMSMessageID。它支持两种模式:

  • SOLACE_JMS_JMS_MESSAGE_ID_MODE_DEFAULT—生成JMSMessageIDs的默认模式。

  • SOLACE_JMS_JMS_MESSAGE_ID_MODE_ASCII_ENCODED_HASH—生成固定长度的JMSMessageIDs的模式,长度为23个字符。

  • 支持版本:Solace PubSub+ 7.1.2及以上版本

  • 类型:字符串

  • 默认值:SupportedProperty.SOLACE_JMS_JMS_MESSAGE_ID_MODE_DEFAULT

ASCII_ENCODED_HASH模式生成一个23个字符的固定长度JMSMessageID。与生成较长且非固定长度ID的默认模式相比,此模式对消息发送性能的影响较小。

属性源(按优先级降序)示例
初始上下文env.put(SupportedProperty.SOLACE_JMS_JMS_MESSAGE_ID_MODE,SupportedProperty.SOLACE_JMS_JMS_MESSAGE_ID_MODE_ASCII_ENCODED_HASH);
JNDI属性文件Solace_JMS_MessageIDMode=ASCII_ENCODED_HASH
系统-DSolace_JMS_MessageIDMode=ASCII_ENCODED_HASH

JMSMessage ID模式属性

保持活动

此属性用于启用/禁用应用级保持活动。

  • 类型:布尔值
  • 格式:[true|false]
  • 默认值:true
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的启用框设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“keep‑alive‑enabled”设置。

保持活动属性

保持活动间隔

此属性指定应用级保持活动之间的时间间隔(以毫秒为单位)。API通过数据连接向事件代理发送保持活动消息。如果在发送最大连续保持活动消息数量后未收到响应,API将关闭连接。

  • 类型:整数
  • 格式:有效值为50及以上。0表示禁用保持活动的使用。
  • 默认值:3000(即,三秒)
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的保持活动心跳间隔框设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“keep‑alive‑interval”设置。

保持活动间隔属性

保持活动限制

此属性指定在API关闭连接之前,可以连续发送多少个应用级保持活动消息而未收到响应。

  • 类型:整数
  • 格式:有效值为3到2147483647。
  • 默认值:3
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的最大保持活动心跳次数设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“keep‑alive‑count‑max”设置。

保持活动限制属性

Kerberos相互认证

此属性指定在启用Kerberos认证方案时是否使用相互认证。

  • 支持版本:Solace PubSub+ 7.0及以上版本
  • 类型:布尔值
  • 格式:[true|false]
  • 默认值:true
属性源(按优先级降序)示例
初始上下文env.put(SupportedProperty.SOLACE_JMS_KRB_MUTUAL_AUTHENTICATION, false);
JNDI属性文件Solace_JMS_KRB_Mutual_Authentication=false

Kerberos相互认证属性

Kerberos服务名称

此属性指定Kerberos服务主体名称(SPN)的服务名称部分,其格式为service_name/<customer-provided_host>@REALM

  • 支持版本:Solace PubSub+ 7.0及以上版本
  • 类型:字符串
  • 格式:任意字符串。SPN值的总长度不得超过190个字符,包括服务名称、主机FQDN、@符号和REALM名称。
  • 默认值:“solace”(SupportedProperty.DEFAULT_KRB_SERVICE_NAME

此属性适用于JNDI和数据连接。

属性源(按优先级降序)示例
初始上下文env.put(SupportedProperty.SOLACE_JMS_KRB_SERVICE_NAME, "solace");
JNDI属性文件Solace_JMS_KRB_Service_Name=KRBName

Kerberos服务名称属性

本地主机

此属性指定要使用的本地接口的IP地址。默认情况下,操作系统会选择接口。此属性适用于JNDI和数据连接。

  • 类型:字符串
  • 格式:IP地址。
  • 默认值:无
属性源(按优先级降序)示例
初始上下文env.put(SupportedProperty.SOLACE_JMS_LOCALHOST, "192.168.1.1");
JNDI属性文件Solace_JMS_Localhost=192.168.1.1
系统-DJMS_Solace_localhost=192.168.1.1

本地主机属性

OAuth2访问令牌

此属性指定一个访问令牌;在OAuth中,访问令牌是由授权服务器在成功认证用户并获得其同意后颁发的。当启用OAuth 2.0认证方案时,访问令牌是允许客户端应用程序访问用户资源的工件。

  • 支持版本:Solace PubSub+ 9.13.1及以上版本
  • 类型:字符串
  • 格式:b64token,代理上指定的令牌最大大小,如果大小超出,则返回无效属性响应。
  • 默认值:无
属性源(按优先级降序)示例
初始上下文env.put(SupportedProperty.SOLACE_JMS_OAUTH2_ACCESS_TOKEN, myAccessToken);

本地主机属性

OAuth发行者标识符

此属性指定授权服务器发行者标识符(iss)。此参数可用于在事件代理上为令牌验证目的显式选择授权服务器。要使此参数生效,事件代理上的消息VPN必须至少配置了一个所需发行者(参见所需发行者)。

  • 支持版本:Solace PubSub+ 9.13.1及以上版本
  • 类型:字符串
  • 格式:任意字符串。
  • 默认值:无
属性源(按优先级降序)示例
初始上下文env.put(SupportedProperty.SOLACE_JMS_OAUTH2_ISSUER_IDENTIFIER, issuerIdentifierURL);

本地主机属性

OIDC ID令牌

此属性指定一个OpenID Connect ID令牌;当启用Open ID Connect OAuth认证方案时,OpenID Connect ID令牌是允许客户端应用程序访问用户资源的工件。

  • 支持版本:Solace PubSub+ 9.13.1及以上版本
  • 类型:字符串
  • 格式:b64token,代理上指定的令牌最大大小,如果大小超出,则返回无效属性响应。
  • 默认值:无
属性源(按优先级降序)示例
初始上下文env.put(SupportedProperty.SOLACE_JMS_OIDC_ID_TOKEN, myIdToken);

本地主机属性

密码

此属性指定用于连接到事件代理的密码。默认情况下,不指定密码。

  • 类型:字符串
  • 格式:最大长度为128个字符。
  • 默认值:无
属性源(按优先级降序)示例
JMS APIConnectionFactory.createConnection(String username, String password); 仅适用于数据连接。
系统-Djava.naming.security.credentials=user1 适用于JNDI和数据连接。
初始上下文env.put(SupportedPropertyContext.SECURITY_CREDENTIALS, user1); 适用于JNDI和数据连接。
JNDI属性文件java.naming.security.credentials=user1 适用于JNDI和数据连接。
URL属性smf://user1:pwd@192.168.1.1:55555 适用于JNDI和数据连接。使用主机列表时,可以在每个URL中指定用户名或密码。在这种情况下,选择的用户名和密码是URL列表中找到的第一个。

密码属性

端口

此属性指定数据连接使用的端口。

  • 类型:整数
  • 格式:有效值为0到65,535。-1表示使用JNDI连接指定的相同端口。
  • 默认值:–1
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的端口框设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“port”设置。

端口属性

读取超时

此属性指定从事件代理读取回复的最大时间(以毫秒为单位)。

  • 类型:整数
  • 格式:有效值为0到2147483647。
  • 默认值:10000(即,10秒)
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的从设备读取回复的超时框设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“read‑timeout”设置。

读取超时属性

接收缓冲区

此属性用于配置套接字的接收缓冲区大小(以字节为单位)。

  • 类型:整数
  • 格式:有效值为0及以上。
  • 默认值:65536
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的接收套接字缓冲区框设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“receive‑buffer”设置。

接收缓冲区属性

重新连接重试次数

此属性指定在丢失与事件代理的数据连接后尝试重新连接的次数。

当提供事件代理的主机列表时,如果无法重新连接到任何主机,API可以再次尝试连接到列表中的主机,从列表中的第一个主机开始。每次API遍历主机列表而未成功重新连接都被视为一次重新连接重试。例如,如果使用了值为2的重新连接重试次数,则API可能会尝试连接到所有列出的主机而无法成功连接三次:一次用于初始连接尝试,然后两次用于重新连接重试。

每次尝试重新连接到主机失败后,API将等待重新连接重试等待属性(参见重新连接重试等待)设置的时间,然后再次尝试连接到主机。需要注意的是,尝试连接到一个主机的次数由每个主机的连接重试次数属性(参见每个主机的连接重试次数)设置的值决定。

  • 类型:整数
  • 格式:有效值为0到2147483647。-1表示永远重试。
  • 默认值:3
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的尝试重新连接次数框设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“reconnect‑retries”设置。

重新连接重试次数属性

重新连接重试等待

如果对主机的连接或重新连接尝试不成功,API将等待此属性设置的时间(以毫秒为单位),然后再次尝试连接或重新连接。

当使用主机列表作为URL属性(参见URL)时,每个主机的连接重试次数属性(参见每个主机的连接重试次数)设置在尝试连接或重新连接到下一个主机之前可以进行的连接或重新连接尝试次数。

  • 类型:整数
  • 格式:有效值为0到60,000。0表示不等待。
  • 默认值:3000(即,三秒)
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的重新连接尝试间隔框设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“reconnect‑retry‑wait”设置。

重新连接重试等待属性

发送缓冲区

此属性指定套接字的发送缓冲区大小(以字节为单位)。

  • 类型:整数
  • 格式:有效值大于0。
  • 默认值:65536
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的发送套接字缓冲区框设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“send‑buffer”设置。

发送缓冲区属性

TCP无延迟

此属性指定是否设置TCP_NODELAY选项。启用时,此选项禁用Nagle算法。

  • 类型:布尔值
  • 格式:[true|false]
  • 默认值:true
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的传输属性选项卡中的TCP无延迟框设置。
CLI/SEMP - 通过属性列表“transport‑properties”中的属性“tcp-no-delay”设置。

TCP无延迟属性

URL

此属性指定要连接的事件代理的IP地址和端口(可选)。主机条目使用以下格式:

<URI Scheme>://[username]:[password]@<IP address>[:port]

其中:

URI Scheme是用于数据连接查找的统一资源标识符(URI)方案。有效值为:

  • smf—使用SMF进行应用与事件代理之间的明文通信。SMF是默认值。
  • smfs—使用TLS/SSL协议通过SMF进行应用与事件代理之间的安全通信

username是连接到事件代理所需的用户名。客户端用户名可以由单个或多个JMS客户端使用。

password是连接时需要认证的用户名密码。

IP address是作为JMS代理的事件代理的IP地址(或主机名)。要指定客户端可以尝试连接的优先主机列表,请按重要性顺序列出每个IP地址,用逗号分隔。

port是用于建立连接的端口号。仅当客户端需要使用自动分配的默认端口号以外的端口时,才需要提供值。不使用压缩时的默认端口号为55555,使用压缩时为55003。TLS/SSL连接(无论是否使用压缩)的默认端口为55443。

  • 类型:字符串
  • 格式:smf://username:password@ipaddress:port
  • 默认值:无

提供的URL参数用于JNDI连接和JMS数据连接。当JNDI和JMS数据连接都是针对提供JNDI和JMS服务的事件代理时,这非常有用。但是,当要使用的JNDI存储托管在LDAP服务器上,而事件代理仅用于JMS代理时,创建JMS连接时在连接工厂中指定的参数可以覆盖用于JNDI连接的指定URL参数。

属性源(按优先级降序)示例
初始上下文env.put(InitialContext.PROVIDER_URL, “smf://user:pwd@192.168.1.1:55555”);
系统-Djava.naming.provider.url=smf://192.168.1.1
JNDI属性文件java.naming.provider.url=smf://192.168.1.1,smf://192.168.2.1
Host=smf://192.168.1.1,smf://192.168.2.1
此示例显示了事件代理的优先列表。

URL属性

用户名

此属性指定用于连接到事件代理的用户名。默认情况下,使用为JNDI连接指定的用户名。但是,当为JMS连接指定用户名时,可以覆盖该用户名。

  • 类型:字符串
  • 格式:最大长度为32个字符。
  • 默认值:使用与JNDI连接相同的用户名。
属性源(按优先级降序)示例
JMS APIConnectionFactory.createConnection(String username, String password);
仅适用于数据连接。
系统-Djava.naming.security.principal=user1
适用于JNDI和数据连接。
初始上下文env.put(SupportedPropertyContext.SECURITY_PRINCIPAL, user1);
适用于JNDI和数据连接。
文件java.naming.security.principal=user1
适用于JNDI和数据连接。
URLsmf://user1:pwd@192.168.1.1:55555
适用于JNDI和数据连接。使用主机列表时,可以在每个URL中指定用户名或密码。在这种情况下,选择的用户名和密码是URL列表中找到的第一个。

用户名属性

VPN

此属性指定连接到事件代理时使用的消息VPN。此属性适用于JNDI和数据连接。默认值为空白,表示连接到默认消息VPN。

  • 类型:字符串
  • 格式:UTF-8编码的最大长度为32个字节。
  • 默认值:“”
属性源(按优先级降序)示例
系统-DSolace_JMS_VPN=myVPN
初始上下文env.put(SupportedProperty.SOLACE_JMS_VPN, “myVPN”);
文件Solace_JMS_VPN=myVPN

VPN属性

XA

此属性指定连接工厂是否启用XA。当对启用了此属性的连接工厂执行查找时,返回的连接工厂可以被强制转换为XAConnectionFactoryXAQueueConnectionFactoryXATopicConnectionFactory

  • 类型:布尔值
  • 格式:[true|false]
  • 默认值:false(连接工厂未启用XA)。
属性源示例
JNDI连接工厂SolAdmin - 通过新建JMS连接工厂或编辑JMS连接工厂对话框中的消息属性选项卡中的XA复选框设置。
CLI/SEMP - 通过属性列表“messaging‑properties”中的属性“xa”设置。

使用默认上下文属性