跳到主要内容

发布消息

Java 的 PubSub+ 消息 API 允许客户端应用程序通过事件代理将消息发布到 SMF(Solace 消息格式)主题。然后,订阅该主题的接收者消费这些消息。

img

您可以使用以下方式将消息发布到事件代理:

使用 Java API 发布直接消息

直接消息提供了一种可靠的消息传递方式,但不能保证消息一定会被投递。消息是“恰好一次”投递的。直接消息被发布到主题目的地,并被路由到具有匹配主题订阅的接收客户端。直接消息与持久消息不同,因为它们:

  • 只发送一次
  • 当客户端未连接到事件代理时,不会为该客户端保留
  • 在遇到拥塞或系统故障时可能会被丢弃
  • 投递时不进行确认

使用持久消息发布

持久消息(也称为保证消息)可用于确保两个应用程序之间消息的投递。持久消息是“至少一次”投递的,在接收应用程序可能会断开连接但不能容忍消息丢失的情况下非常有用。持久消息按照它们被发布的顺序投递。客户端应用程序可以将持久消息(具有持久投递模式的消息)发布到已映射到队列的主题目的地。