首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消息中间件-如何避免使用通配符订阅重新进入?

消息中间件-如何避免使用通配符订阅重新进入?
EN

Stack Overflow用户
提问于 2009-07-27 19:48:57
回答 2查看 325关注 0票数 1

消息传递中间件解决方案(JMS、Tibco等)允许使用" topic“过滤的发布/订阅通过通配符订阅某个"topic”的所有消息,例如SUBSCRIBE("ACCOUNT.*") topic可以同时订阅"ACCOUNT.WITHDRAW“消息和"ACCOUNT.CHECKBALANCE”消息。

问题是,这样的订阅也会收到我自己发布的消息。

我正在寻找一种类似于UDP多播环回的机制,它可以由传输层打开或关闭,而不会扰乱正在发送的数据。

有没有一种通用的、声明性的(没有自定义代码,只有配置)的方法来配置中间件,使其不接收同一服务实例发布的消息?理想情况下,这也应该能够过滤掉所有相同“类型”的服务器(节点)发布的所有内容。

提前谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-28 22:18:59

没有人应答,所以我会插话(用手势)。

我相信在JMS spec中没有关于控制你是否在主题接收器上得到你自己发送的消息的东西。因此,像这样的任何功能都是不可移植的供应商功能。尤其是对于您的第二个需求(基于“种类”的JMS客户端与基于相同连接进行发送/接收的某种控制)。

如果您没有修改代码或消息内容(属性)的灵活性,我认为您就没有可移植的解决方案。对于第二个“种类”的需求,可能根本没有解决方案。

如果您想研究特定于供应商的选项,您需要告诉我们您对哪个供应商感兴趣。你可能什么也得不到,但没有办法不问就知道。

票数 0
EN

Stack Overflow用户

发布于 2014-11-29 06:03:53

JMS包含用于TopicSubscribers的此选项,例如,TIBCO EMS让您创建一个具有"noLocal“属性的消费者。这意味着不会通过同一连接发布消息,也不会被同一连接上的客户端使用。

例如,看看这里如何使用"noLocal“选项创建一个主题订阅者:https://docs.tibco.com/pub/enterprise_message_service/7.0.1-march-2013/doc/html/tib_ems_api_reference/api/javadoc/javax/jms/TopicSession.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1190252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档