配置端点模板
端点模板是管理员可以用来为任何新客户端创建的端点指定自定义属性和参数的可配置对象。当客户端创建的端点使用API动态创建时,端点名称可以与端点模板匹配。在端点模板中配置的所有自定义属性都会复制到客户端创建的端点。更多信息,请参见队列和主题端点。
客户端配置文件有一个可选的copy-from-template-on-create
命令,用于队列和主题端点模板。您可以使用copy-from-template-on-create
命令指定一个CLI配置的端点模板,这些模板值将应用于任何新的客户端创建的端点。更多信息,请参见为客户端创建的端点配置初始值。
有关在PubSub+ Broker Manager中创建和配置端点模板的信息,请参阅为PubSub+ Cloud配置端点模板或为软件事件代理和设备配置端点模板。
配置队列模板
要在给定的消息VPN中配置队列模板,请输入以下命令:
solace(configure)# message-spool message-vpn <vpn-name>
solace(configure/message-spool)# create queue-template <name>
solace(configure/message-spool/queue-template)#
其中:
<name>
是队列模板名称,最多255个字符。
此命令的无版本,no queue-template <name>
,从消息VPN中删除指定的队列模板。
从这里开始,您现在可以为队列模板分配自定义属性和参数,这些属性和参数可以复制到任何客户端创建的队列。您可以首先设置一个name-filter
,用于匹配队列名称与队列模板。
设置名称过滤器以匹配队列名称
管理员可以使用名称过滤器将队列名称与队列模板匹配。更准确地说,名称过滤器是一个通配符模式,用于确定哪些队列使用来自给定模板的设置。支持以下两种通配符:*
和 >
。
使用通配符的规则:
-
*
匹配零个或多个字符,但绝不匹配斜杠(/
)。它只能出现在末 尾,在/
之后(例如,animals/domestic/*
)。 示例:animals/domestic/*
匹配队列animals/domestic/cats
和animals/domestic/dogs
,但不匹配队列animals/domestic/dogs/beagles
。 -
>
匹配与名称过滤器具有相同前缀的任何内容,但只有当它位于末尾时(例如,animals/domestic/>
)。它只有在末尾,在/
之后才被视为通配符。 示例:animals/domestic/>
匹配队列animals/domestic/cats
、animals/domestic/dogs
和animals/domestic/dogs/beagles
,但不匹配队列animals/domestic
。
要配置一个可用于匹配队列名称与队列模板的name-filter
,请输入以下命令:
solace(configure/message-spool/queue-template)# name-filter <name>
其中:
name
是用于名称过滤器的值。
此命令的无版本,no name-filter <name>
,将其值重置为默认值。
在配置名称过滤器时,最佳实践是避免重叠的名称过滤器。如果您确实使用了重叠的名称过滤器,事件代理在解析多个匹配项时将采用最长的非通配符前缀。
设置持久性覆盖
durability-override
命令允许控制客户端创建的知名持久队列的持久性。当客户端的API创建的队列创建时,如果在队列模板中指定了durability-override non-durable
,则客户端创建的知名持久队列被转换为知名非持久队列。创建的队列将是非持久的,无论客户端在队列创建期间请求了什么。
要配置durability-override
以控制从给定模板创建的队列的持久性,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# durability-override {none | non-durable}
其中:
none
是创建时请求的队列的持久性。
non-durable
是创建的队列的持久性,将是非持久的,不管指定的持久性如何。
此命令的无版本,no durability-override {none | non-durable}
,将其值重置为默认值(none)。
持久性覆盖不支持MQTT队列。
更多信息,请参见知名队列。
设置访问类型
要配置持久消息队列的客户端访问类型,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# access-type {exclusive | non-exclusive}
其中:
exclusive
指定多个客户端建立的订阅流可以绑定到队列,但所有绑定流中只有一个流能够同时接收消息。(也就是说,只有一个流可以处于活动状态。)第一个绑定到队列的流可以从中消费消息,当该流断开连接时,下一个最老的绑定流变为活动状态并开始接收消息,以此类推。
non-exclusive
指定所有绑定的流都能够接收消息,当多个流绑定到非独占队列时,它们以轮询(如果分区计数为零)或分区(如果分区计数非零)的方式接收消息,参见配置端点模板。这提供了负载均衡;但是,如果连接失败,则未确认的消息将被传递给另一个流,并将重新交付指示器设置。通过这种方式,消息可以被交付给客户端的顺序不正确。
此命令的无版本,no access-type
,将设置回默认值(exclusive)。
有关持久队列的客户端访问类型配置的更多信息,请参见配置访问类型。
设置消费者确认(ACK)传播
队列模板中的以下配置将启用或禁用在活动复制消息VPN上接收到的消费者确认(ACK)传播到备用复制消息VPN:
要阻止队列将消费者确认传播到备用复制消息VPN,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# no consumer-ack-propagation
如果队列被允许将消费者确认传播到备用复制消息VPN,请输入以下CONFIG命令以允许它这样做:
solace(configure/message-spool/queue-template)# consumer-ack-propagation
有关启用/禁用向复制VPN传播消费者ACK的更多信息,请参见启用/禁用向复制VPN传播消费者ACK。
设置队列事件阈值
要配置控制为队列生成消息队列相关事件的阈值,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# event
CLI现在处于可以从中使用队列模板配置各种消息队列事件的设置和清除阈值的级别。
有关使用队列模板为队列设置和清除生成这些事件的阈值的更多信息,请参见使用模板的队列事件阈值。
设置可以绑定的最大流数量
要配置可以绑定到队列的最大流数量,请输入以下CONFIG命令。
solace(configure/message-spool/queue-template)# max-bind-count <value>
其中:
<value>
是一个整数值,指定可以绑定到持久消息队列的最大流数量。有效范围是0到10,000。默认值是1,000。
此命令的无版本,no max-bind-count
,将可以绑定到队列模板的最大流数量重置回默认值。
有关配置可以绑定的最大流数量的更多信息,请参见配置可以绑定的最大流数量。
设置最大允许的未确认消息数
要配置每个流的最大未确认消息数限制,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# max-delivered-unacked-msgs-per-flow <max>
其中:
<max>
是一个整数值,指定可以传递给客户端但在订阅流上仍由客户端未确认的消息的最大数量。有效范围是1到事件代理支持的最大值。最大值取决于使用的PubSub+事件代理类型。默认值是10,000。如果所有客户端中已传递但未确认的消息的最大数量达到,则事件代理将停止向所有客户端传递消息,直到一些客户端向事件代理返回确认。
此命令的无版本,no max-delivered-unacked-msgs-per-flow
,将未确认消息的最大数量重置回默认值。
有关max-delivered-unacked-msgs-per-flow
的更多信息,或要审查您可能需要考虑的任何性能影响,请参见配置最大允许的未确认消息数。
设置最大允许的消息大小
要配置给定持久队列的最大消息大小,请输入以下CONFIG命令。
solace(configure/message-spool/queue-template)# max-message-size <size>
其中:
<size>
是一个整数值,指定队列允许的最大消息大小(以字节为单位)。
此命令的无版本,no max-message-size
,将允许的消息大小重置回队列的默认值。
设置最大重新交付尝试次数
要配置队列可以尝试重新交付消息给客户端的最大次数,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# max-redelivery <count>
其中:
<count>
是可能的最大消息重新交付尝试次数。有效范围是0到255。0表示永远尝试。默认值是0。
此命令的无版本,no max-redelivery
,将max-redelivery值重置回默认值。
有关max-message-size配置的更多信息,请参见配置最大重新交付尝试次数。
设置消息重新交付延迟
要配置消息重新交付延迟,请输入以下命令:
solace(configure/message-spool/queue-template)# redelivery-delay
CLI现在处于可以配置队列在尝试重新交付消息给客户端时使用的初始间隔、最大间隔和延迟间隔乘数的级别。
- 要配置初始间隔,请输入以下命令:
solace(.../message-spool/queue-template/redelivery-delay)# initial-interval <value>
其中:
<value>
是一个整数值,指定前两次交付尝试之间的延迟,以毫秒为单位。有效值范围是1到3600000。默认值是1000。
此命令的无形式,no initial-interval
,将值重置为默认值。
- 要配置最大间隔,请输入以下命令:
solace(.../message-spool/queue-template/redelivery-delay)# max-interval <value>
其中:
<value>
是一个整数值,指定任何两次重新交付尝试之间使用的最大延迟,以毫秒为单位。有效值范围是1到10800000。默认值是64000。
此命令的无形式,no max-interval
,将值重置为默认值。
- 要配置延迟间隔乘数,请输入以下命令:
solace(.../message-spool/queue-template/redelivery-delay)# multiplier <value>
其中:
<value>
是一个浮点值,指定每次失败的交付尝试后每个延迟间隔乘以的数量。有效值范围是1.00到5.00。默认值是2.00。
此命令的无形式,no multiplier
,将值重置为默认值。
要启用消息重新交付延迟配置,请输入以下命令:
solace(.../message-spool/queue-template/redelivery-delay)# no shutdown
要禁用消息重新交付延迟配置,请输入以下命令:
solace(.../message-spool/queue-template/redelivery-delay)# shutdown
有关配置消息重新交付延迟的更多信息,请参见配置消息重新交付延迟。
禁用消息重新交付
默认情况下,队列可以尝试重新交付消息给客户端的最大次数由max-redelivery
命令控制。有关更多信息,请参见设置最大重新交付尝试次数。
您可以改为禁用此功能。当消息重新交付被禁用时,给定的消息将只尝试从队列中交付一次。
禁用消息重新交付是受控可用性(CA)功能。请联系Solace以了解此功能是否支持您的用例。
要禁用消息重新交付尝试,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# no redelivery
要启用消息重新交付尝试,请输入以下CONFIG命令。
solace(configure/message-spool/queue-template)# redelivery
设置交付延迟
默认情况下,发布到队列的消息会立即发布给连接的消费者。有许多用例中,发布的消息不能立即交付给消费者,而是在固定延迟后才交付。一个例子是支付处理系统中的重试机制。在收到客户订单后,您可能希望实现交付延迟以重试信用卡交易,当交易处理失败的任何原因。有关更多信息,请参见队列和主题端点。
您可以使用delivery-delay
选项配置队列的交付延迟,使得所有预定到队列的消息在一段时间内不符合交付条件。
如果您目前正在使用DMQs来实现交付延迟,请联系Solace以获取关于迁移到使用delivery-delay
选项的指导。
要配置队列的交付延迟,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# delivery-delay <delay>
其中:
<delay>
是要应用于到达队列的消息的延迟,在秒为单位,之后消息才有资格被交付。有效范围是0到4294967295。默认值是0。
此命令的无版本,no delivery-delay
,将delivery-delay
值重置回默认值。
设置最大消息队列使用量
要配置给定队列可以使用的最大消息队列量,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# max-spool-usage <size>
其中:
<size>
是一个整数值,指定队列允许的最大消息队列磁盘空间量,以MB为单位。
此命令的无版本,no max-spool-usage
,将允许的消息队列使用量配额重置回队列的默认值。
有关为队列配置max-spool-usage
大小的更多信息,请参见配置最大消息队列使用量。
有关此设置的默认值的更多信息,请参见最大消息队列使用量。
设置非所有者客户端的权限
要配置所有非给定持久队列所有者的所有客户端的权限级别,请输入以下CONFIG命令:
客户端对持久消息队列的访问必须首先被禁用,然后才能配置队列权限。有关更多信息,请参见启用/禁用客户端对队列的访问。
solace(configure/message-spool/queue-template)# permission all {no-access | read-only | consume | modify-topic | delete}
其中:
no-access
禁止所有访问。
read-only
为客户提供对队列的消息的只读访问权限。
consume
为客户提供只读权限,并能够从队列中删除消息。
modify-topic
为客户提供消费权限,并能够修改分配给队列的主题或选择器。
delete
为客户提供modify-topic权限,并能够从队列中删除消息,或完全删除队列。请注意,如果队列是使用CLI或SEMP由管理用户创建的,客户端无法删除队列。
此命令的无版本,no permission
,将所有非队列所有者的客户端的权限级别重置为无;即,无访问权限。客户端访问级别为无是默认的权限级别。
有关配置非所有者客户端权限的更多信息,请参见配置非所有者客户端的权限。
设置拒绝低优先级消息
要为主题端点启用拒绝低优先级消息功能,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# reject-low-priority-msg
此命令的无版本,no reject-low-priority-msg
,配置客户端创建的队列不对发布的消息执行拒绝低优先级消息限制检查(默认配置)。
有关启用拒绝低优先级消息的更多信息,请参见启用拒绝低优先级消息。
设置拒绝低优先级消息限制
要配置队列的拒绝低优先级消息限制,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# reject-low-priority-msg-limit <limit>
其中:
<limit>
是已队列的低优先级和高优先级消息的总数。当此值超出时,队列将丢弃任何进一步发布的低优先级消息,但会队列发布的高优先级消息。有效值从0到4294967295。如果设置值为0,则队列仅队列高优先级消息。
设置消息丢弃处理
要启用持久队列的reject-msg-to-sender-on-discard
选项,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# reject-msg-to-sender-on-discard [including-when-shutdown]
其中:
including-when-shutdown
指定如果端点有匹配的订阅但已关闭,如果端点有匹配的订阅但已关闭,则向发布消息的主题返回Nacks。请注意,此参数特别针对发布到主题的消息,因为当reject-msg-to-sender启用且队列关闭时,发布到队列的消息总是被Nack。
此命令的无版本,no reject-msg-to-sender-on-discard
,禁用了持久队列上的reject-msg-to-discard
选项。
有关导致入站消息丢弃的条件和对事务会话的影响的更多信息,请参见配置消息丢弃处理。
设置最大消息生存时间(TTL)
要定义端点应用到要队列的消息的最大TTL,请输入以下CONFIG命令:
solace(configure/message-spool/queue)# max-ttl <ttl>
其中:
<ttl>
是消息在启用了Respect TTL选项的队列上可以停留的最大秒数。
此命令的无版本,no max-ttl
,将默认最大TTL值设置为0(禁用),这意味着不会对任何收到的消息应用到期时间。
有关何时应用最大TTL值、TTL与消息VPN桥接以及对性能的影响的更多信息,请参见配置最大消息生存时间。
设置尊重TTL
要配置持久队列尊重消息TTL,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# respect-ttl
此命令的无版本,no respect-ttl
,配置持久端点忽略消息TTL到期时间(默认配置)。
有关更多信息,请参见强制是否尊重TTL。
设置尊重消息优先级值
要配置持久队列尊重消息优先级值,请输入以下CONFIG命令:
solace(configure/message-spool/queue-template)# respect-message-priority
此命令的无版本,no respect-message-priority
,配置持久队列忽略消息优先级值(默认配置)。
有关更多信息,请参见强制是否尊重消息优先级值。
配置主题端点模板
要配置给定消息VPN中的主题端点模板,请输入以下命令:
solace(configure)# message-spool message-vpn <vpn-name>
solace(configure/message-spool)# create topic-endpoint-template <name>
solace(configure/message-spool/topic-endpoint-template)#
其中:
<name>
是主题端点模板名称,最多255个字符。
此命令的无版本,no topic-endpoint-template <name>
,从消息VPN中删除指定的主题端点模板。
从这里开始,您现在可以为主题端点模板分配自定义属性和参数,这些属性和参数将复制到任何客户端创建的主题端点。让我们首先设置一个名称过滤器,用于匹配主题端点名称与主题端点模板。
设置名称过滤器以匹配主题端点名称
管理员可以使用名称过滤器将主题端点名称与主题端点模板匹配。更准确地说,名称过滤器是一个通配符模式,用于确定哪些队列使用来自给定模板的设置。支持以下两种通配符:*
和 >
。
使用通配符的规则:
-
*
匹配零个或多个字符,但绝不匹配斜杠(/
)。它只能出现在末尾,在/
之后(例如,animals/domestic/*
)。 示例:animals/domestic/*
匹配主题端点animals/domestic/cats
和animals/domestic/dogs
,但不匹配主题端点animals/domestic/dogs/beagles
。 -
>
匹配与名称过滤器具有相同前缀的任何内容,但只有当它位于末尾时(例如,animals/domestic/>
)。它只有在末尾,在/
之后才被视为通配符。 示例:animals/domestic/>
匹配主题端点animals/domestic/cats
、animals/domestic/dogs
和animals/domestic/dogs/beagles
,但不匹配主题端点animals/domestic
。
要配置一个可用于匹配主题端点名称与主题端点模板的name-filter
,请输入以下命令:
solace(configure/message-spool/topic-endpoint-template)# name-filter <name>
其中:
name
是用于名称过滤器的值。
此命令的无版本,no name-filter <name>
,将其值重置为默认值。
在配置名称过滤器时,最佳实践是避免重叠的名称过滤器。如果您确实使用了重叠的过滤器,事件代理在解析多个匹配项时将采用最长的非通配符前缀。
设置访问类型
要配置持久主题端点的客户端访问类型,请输入以下CONFIG命令。
solace(configure/message-spool/topic-endpoint-template)# access-type {exclusive | non-exclusive}
其中:
exclusive
指定只有一个客户端可以绑定并由主题端点服务;如果有其他消费者尝试绑定,它们将被拒绝。
non-exclusive
指定所有绑定流都能够接收消息,当多个流绑定到非独占主题端点时,它们以轮询方式接收消息。
此命令的无版本,no access-type
,将设置回默认值(exclusive)。
有关持久队列的客户端访问类型配置的更多信息,请参见配置访问类型。
设置消费者确认(ACK)
默认情况下,活动复制消息VPN上的端点会将它们收到的消费者确认(ACK)传播到备用复制消息VPN。
要阻止客户端创建的主题端点将消费者确认传播到备用复制消息VPN,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# no consumer-ack-propagation
要允许主题端点将消费者确认传播到备用复制消息VPN,请输入以下CONFIG命令以允许它这样做:
solace(configure/message-spool/topic-endpoint-template)# consumer-ack-propagation
设置主题端点事件阈值
要配置控制为给定主题端点生成消息队列相关事件的阈值,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# event
CLI现在处于可以从中配置各种消息队列事件的设置和清除阈值的级别。
有关为主题端点模板生成的消息VPN级消息队列事件以及如何设置和清除生成这些事件的阈值的更多信息,请参阅使用模板的主题 端点事件阈值。
设置可以绑定的最大流数量
要配置可以绑定到非独占持久主题端点的最大流数量,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# max-bind-count <value>
其中:
<value>
是一个整数值,指定可以绑定到非独占持久主题端点的最大流数量。如果主题端点的访问类型已设置为独占,max-bind-count
的值被视为1,而不管设置的值如何。有效范围是0到10,000。默认值是1。
此命令的无版本,no max-bind-count
,将可以绑定到持久主题端点的最大流数量重置回默认值。
有关配置可以绑定的最大流数量的更多信息,请参见配置可以绑定的最大流数量。
设置最大允许的未确认消息数
要配置每个流的最大未确认消息数限制,请输入 以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# max-delivered-unacked-msgs-per-flow <max>
其中:
<max>
是一个整数值,指定可以传递给客户端但在订阅流上仍由客户端未确认的消息的最大数量。有效范围是1到事件代理支持的最大值。最大值取决于使用的事件代理类型。默认值是10,000。如果所有客户端中已传递但未确认的消息的最大数量达到,则PubSub+事件代理将停止向所有客户端传递消息,直到一些客户端向事件代理返回确认。
此命令的无版本,no max-delivered-unacked-msgs-per-flow
,将未确认消息的最大数量重置回默认值。
有关max-delivered-unacked-msgs-per-flow
的更多信息,或要审查您可能需要考虑的任何性能影响,请参见配置最大允许的未确认消息数。
设置最大允许的消息大小
要配置给定主题端点的最大消息大小,请输入以下CONFIG命令。
solace(configure/message-spool/topic-endpoint-template)# max-message-size <size>
其中:
<size>
是一个整数值,指定主题端点允许的最大消息大小(以字节为单位)。有效范围是0到30000000。默认值是10000000。
此命令的无版本,no max-message-size
,将允许的消息大小重置回主题端点的默认值。
设置最大重新交付尝试次数
要配置主题端点可以尝试重新交付消息给客户端的最大次数,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# max-redelivery <count>
其中:
<count>
是可能的最大消息重新交付尝试次数。有效范围是0到255。0表示永远尝试。默认值是0。
此命令的无版本,no max-redelivery
,将max-redelivery值重置回默认值。
有关max-message-size配置的更多信息,请参见配置最大重新交付尝试次数。
设置消息重新交付延迟
要配置消息重新交付延迟,请输入以下命令:
solace(configure/message-spool/topic-endpoint-template)# redelivery-delay
CLI现在处于可以配置主题端点在尝试重新交付消息给客户端时使用的初始间隔、最大间隔和延迟间隔乘数的级别。
- 要配置初始间隔,请输入以下命令:
solace(.../message-spool/topic-endpoint-template/redelivery-delay)# initial-interval <value>
其中:
<value>
是一个整数值,指定前两次交付尝试之间的延迟,以毫秒为单位。有效值范围是1到3600000。默认值是1000。
此命令的无形式,no initial-interval
,将值重置为默认值。
- 要配置最大间隔,请输入以下命令:
solace(.../message-spool/topic-endpoint-template/redelivery-delay)# max-interval <value>
其中:
<value>
是指定任意两次重新传送尝试之间最大延迟的整数值,以毫秒为单位。有效值的范围是1到10800000。默认值是64000。
该命令的否定形式,no max-interval
,会将值重置为默认值。
- 要配置重新传送尝试之间的延迟间隔乘数,请输入以下命令:
solace(.../message-spool/topic-endpoint-template/redelivery-delay)# multiplier <value>
其中:
<value>
是一个浮点数值,指定每次失败的传送尝试后每个延迟间隔需要乘以的量。有效值的范围是1.00到5.00。默认值是2.00。
该命令的否定形式,no multiplier
,会将值重置为默认值。
要启用消息重新传送延迟配置,请输入以下命令:
solace(.../message-spool/topic-endpoint-template/redelivery-delay)# no shutdown
要禁用消息重新传送延迟配置,请输入以下命令:
solace(.../message-spool/topic-endpoint-template/redelivery-delay)# shutdown
更多信息,请参见配置消息重新传送延迟。
禁用消息重新传送
默认情况下,主题端点可以尝试将消息重新传送给客户端的次数由max-redelivery
命令控制。有关更多信息,请参见设置最大重新传送尝试次数。
您可以禁用此功能。当禁用消息重新传送时,给定的消息将仅尝试从主题端点传送一次。
禁用消息重新传送是一个受控可用性(CA)特性。请联系Solace以了解此特性是否支持您的用例。
要禁用消息重新传送尝试,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# no redelivery
要启用消息重新传送尝试,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# redelivery
设置传送延迟
默认情况下,发布到主题端点的消息会立即发布给已连接的消费者。有许多用例中发布的消息不能立即传送给消费者,而是在固定延迟后才传送。一个例子是支付处理系统中的重试机制。在接收到客户订单后,您可能想要实现传送延迟以重试信用卡交易,当交易处理失败时出于任何原因。有关更多信息,请参见队列和主题端点。
您可以使用delivery-delay
选项为队列配置传送延迟,使得所有发往队列的消息在固定时间段内不可供传送。
如果您目前正在使用DMQs来实现传送延迟,请联系Solace以获得关于迁移您的实现以使用delivery-delay
选项的指导。
要配置主题端点的传送延迟,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# delivery-delay <delay>
其中:
<delay>
是应用于消息到达主题端点之前的延迟,以秒为单位,之后消息才可供传送。有效值的范围是0到4294967295。默认值是0。
该命令的否定版本,no delivery-delay
,会将delivery-delay
值重置为默认值。
设置最大消息池使用量
要为PubSub+事件代理上持久化主题端点配置每主题端点基础上的最大消息池使用量,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# max-spool-usage <size>
其中:
<size>
是一个整数值,指定主题端点允许使用的最大消息池磁盘空间量,以MB为单位。将值设置为0对于主题端点不推荐。
该命令的否定版本,no max-spool-usage
,会将默认值重置。
有关配置max-spool-usage
大小的主题端点的信息,请参见配置最大消息池使用量。
有关此设置的默认值的信息,请参见最大消息池使用量。
设置非所有者客户端的权限
要为所有非给定持久化主题端点的所有者配置权限级别,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# permission all {no-access | read-only | consume | modify-topic | delete}
其中:
no-access
禁止所有访问。
read-only
提供给客户端对主题端点的消息的只读访问权限。
consume
提供给客户端只读权限以及从主题端点删除消息的能力。
modify-topic
提供给客户端消费权限以及修改分配给主题端点的主题或选择器的能力。
delete
提供给客户端modify-topic权限以及从主题端点删除消息或完全删除主题端点的能力。请注意,如果主题端点是使用CLI或SEMP由管理用户创建的,则客户端不能删除主题端点。
该命令的否定版本,no permission
,会将所有非主题端点所有者的客户端的权限级别重置为none;即无访问权限。客户端访问级别为none是默认的权限级别。
有关更多信息, 请参见配置非所有者客户端的权限。
设置拒绝低优先级消息限制
要为主题端点配置一个reject-low-priority-msg-limit,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# reject-low-priority-msg-limit <limit>
其中:
<limit>
是累积的低优先级和高优先级消息数。当此值超出时,主题端点会丢弃任何进一步发布的低优先级消息,但会保留发布的高优先级消息。有效值从0到4294967295。如果设置的值为0,则主题端点仅保留发布的高优先级消息。默认值是0。
设置拒绝低优先级消息
要为主题端点启用拒绝低优先级消息功能,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# reject-low-priority-msg
该命令的否定版本,no reject-low-priority-msg
,会配置持久化主题端点在发布消息时不执行拒绝低优先级消息限制检查(默认配置)。
有关更多信息,请参见启用拒绝低优先级消息。
设置最大消息TTL
要为主题端点定义一个最大TTL以应用到要保留的消息,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# max-ttl <ttl>
其中:
<ttl>
是消息在启用respect-ttl时可以保留在主题端点上的最大秒数。
该命令的否定版本,no max-ttl
,会将默认的最大TTL值设置为0(禁用),这意味着不会对任何接收到的消息应用到期时间,这些消息会被保留到该端点。
有关更多信息,请参见配置最大消息TTL。
设置消息丢弃处理
要为主题端点启用reject-msg-to-sender-on-discard选项,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# reject-msg-to-sender-on-discard
该命令的否定版本,no reject-msg-to-sender-on-discard
,会禁用持久化主题端点上的reject-msg-to-sender-on-discard选项。
有关更多信息,包括导致传入消息丢弃的条件以及对事务会话的影响,请参见配置消息丢弃处理。
设置尊重TTL
要配置主题端点尊重消息TTL,请输入以下CONFIG命令:
solace(configure/message-spool/topic-endpoint-template)# respect-ttl
该命令的否定版本,no respect-ttl
,会配置持久化主题端点忽略消息TTL到期时间(默认配置)。