2

在 DDS 中我的要求是,我有很多订阅者,但发布者是单身。我的订阅者从 DDS 读取数据并检查该消息是针对该特定订阅者的。如果检查成功,那么它只需要数据并从 DDS 中删除。消息必须保存在 DDS 中,直到经过身份验证的订阅者获取它的数据。如何使用 DDS(在 java 环境中)实现这一点?

4

1 回答 1

0

首先,您应该知道,使用DDS, aSubscriber永远无法从全局数据空间中删除数据。每个Subscriber人都有自己的分布式数据的缓存副本,并且只能对该副本进行操作。如果一个人Subscriber获取数据,那么其他SubscribersTopic将不会受到任何方式的影响。只能Publishers为每个Subscriber. 从您的问题来看,尚不清楚您是否知道这一点。

与此无关,似乎在这里使用ContentFilteredTopic( CFT) 是合适的。根据描述,Subscriber知道它正在寻找的文件名。使用CFTSubscriber可以表明它只对具有特定file_name属性值的样本感兴趣。基础设施将负责过滤过程,并确保Subscriber不会收到任何具有不同属性值的数据file_name。因此,对数据进行的任何take()操作都DataReader将包含相关信息,无需先检查数据再进行处理。

API 文档应包含有关如何使用ContentFilteredTopic.

于 2012-07-17T03:14:39.233 回答