gpt4 book ai didi

java - Cometd 过滤 channel 中特定客户端的数据

转载 作者:行者123 更新时间:2023-11-30 04:26:39 25 4
gpt4 key购买 nike

我正在使用 comet 设计一个系统,其中有一个发布数据的公共(public) channel 。我需要根据客户订阅详细信息使用一些条件来过滤数据。谁能告诉我该怎么做?我想我可以使用 DataFilter 来做到这一点。

Channel.addDataFilter(DataFilter filter);

这是正确的方法吗?如果有的话,有什么示例代码可以实现这一点吗?

最佳答案

没有Channel.addDataFilter(DataFilter)方法,但您可以通过不同的方式获得相同的结果。

首先,看看可用的 DataFilter 实现 already available .

然后,您只需向要过滤数据的 channel 添加一个 DataFilterMessageListener 即可,并为该 DataFilterMessageListener 指定一个或多个 DataFilter >.

您可以在 CometD 发行版附带的 CometD 演示中找到这样的示例,例如 here .

添加 DataFilterMessageListener 的正确方法是在 channel 初始化期间,如上面链接的示例中通过 @Configure 注释或等效地通过 完成的那样ServerChannel.Initializer.

最后,从文档中看一下消息在服务器上是如何处理的:http://docs.cometd.org/reference/#concepts_message_processing 。重要的是要理解,所有订阅者都可以看到 DataFilter 所做的修改。

关于java - Cometd 过滤 channel 中特定客户端的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15719230/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com