跳到主要内容

在PubSub+ JCSMP API中为会话启用无本地投递

无本地会话属性仅影响在同一会话上发布消息的 PubSub+ JCSMP API 客户端对直接消息的投递。它不影响保证消息的投递。

也可以为流启用无本地属性。在流级别启用时,无本地流属性影响在同一会话中创建的流上对非持久或持久消息的投递。直接消息的投递不受无本地流属性的影响。(有关在流上设置无本地属性的详细信息,请参阅无本地投递。)

当仅对会话启用无本地属性或仅对流启用时,事件代理可能会更改已发布消息的投递模式,以便该消息仍然可以投递到发布它的客户端。例如,如果客户端向主题“A”发布消息,则当为会话启用无本地时,该消息不能作为直接消息投递到该客户端,但如果未为绑定到具有主题订阅“A”的主题端点的流启用无本地,则该消息可以作为非持久消息通过该流投递到该客户端。有关如何根据主题匹配更改消息投递模式的信息,请参阅主题匹配和消息投递模式。

要为会话启用无本地投递,请使用 JCSMPProperties.NO_LOCAL

properties.setBooleanProperty(JCSMPProperties.NO_LOCAL, true);

有关如何启用无本地会话属性的示例,请参阅 Solace 开发者中心中的 NoLocalPubSub 示例。