缺省情况下,当代理已将发布内容发送给所有感兴趣的订户之后,代理将废弃该发布内容。 不过,发布程序也可以指定让代理保存发布内容的副本,那时该副本就称为保留的发布内容。
保留发布内容的一份副本由代理发送到该发布内容的主题中注册了兴趣的所有订户。 这意味着新的订户在接收到该副本之前不必等待它再次发布信息。
例如,注册预订股票价格的订户将直接接收最新发布的价格,而无需等待股票价格更改或被重新发布。
如出 RetainPub 被指定作为发布消息中的选项, 该发布内容由代理保留并替换该主题的任何先前的保留发布内容。
由于代理仅为每个主题和预订点保留一份发布内容,所以当新的发布内容到达时,旧的发布内容被删除。
在决定是否使用保留发布内容时,请考虑以下问题。
使用消息描述符(MQMD)的到期字段来为保留发布内容设置一个到期时间间隔。
与 WebSphere Message Broker 一起交付的样本验证应用程序包括 Soccer Results Service。 该样本使用保留的发布内容记录它监控的每个足球比赛中的最新比分。 样本演示了支持该选项所需的编程工作。
MQ | SCADA | JMS/IP | |
---|---|---|---|
保留的 | 是 | 是 | 否 |
到期日期 | 是 | 否 | 否 |
表中的列表示应用程序的三种类型。第一行表明发布内容是否可以是保留发布内容,并且第二行表明到期日期是否可以应用到该发布内容。