Understanding Message Durability

DEX502 - Module 9: Streaming API

📄 第 364 页 🎬 视频课程

课程章节介绍

今天我们来聊聊Salesforce中的消息耐久性。这个概念听起来有点复杂,但其实很简单。想象一下,你有一个朋友,他总是在你发消息的时候在线,但有时候他可能不在线,或者你的消息发送得太快,他可能只看到最后一条。这就是消息耐久性的一个比喻。 在Salesforce中,特别是在API版本36.0及更早的版本中,如果你在同一个Apex事务中对同一条记录发送多个PushTopic通知,系统只会发送最后一个通知。比如说,你设置了一个PushTopic来监听联系人的插入和更新,并且你选择了fieldA这个字段。如果你先插入了一个联系人,然后一个Apex触发器更新了fieldA,那么系统只会发送更新通知,而不会发送联系人创建的通知。 但是,从API 37.0版本开始,情况就变了。在这个版本及以后的版本中,系统会发送同一个事务中同一记录的所有通知,不会遗漏任何一条。这就好比你朋友现在可以收到你发送的所有消息,不管他是否在线,或者你发送消息的速度有多快。 另外,广播事件的ID对于组织和频道来说是唯一的。这意味着每个事件都有一个独特的标识符,确保消息的准确传递,不会混淆。 所以,简单来说,消息耐久性就是确保你的消息能够被正确、完整地接收,不管是在Salesforce内部还是外部。希望这个解释能帮助你更好地理解这个概念!