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

Jms 消息传递中间件-如何避免使用通配符订阅重新进入?,jms,messaging,esb,middleware,tibco,Jms,Messaging,Esb,Middleware,Tibco,消息中间件解决方案(JMS、Tibco等)允许发布/订阅带有“主题”过滤的消息,使用通配符订阅特定“主题”的所有消息,例如,订阅(“帐户。*”)主题允许您同时订阅“帐户撤回”消息和“帐户支票余额”消息 问题是这样的订阅也会接收我自己发布的消息 我正在寻找一种机制,类似于UDP多播环回,它可以由传输层打开或关闭,而不会干扰正在发送的数据 是否有一种通用的声明性(无自定义代码,仅配置)方法来配置中间件,使其不接收同一服务实例发布的消息?理想情况下,这还应该能够过滤掉所有服务器(节点)发布的相同“种类

消息中间件解决方案(JMS、Tibco等)允许发布/订阅带有“主题”过滤的消息,使用通配符订阅特定“主题”的所有消息,例如,订阅(“帐户。*”)主题允许您同时订阅“帐户撤回”消息和“帐户支票余额”消息

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

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

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


提前谢谢。

没有人接电话,所以我会插话(用摇摇手的方式)

我相信周围没有任何东西可以控制你是否在主题接收器上收到自己发送的消息。因此,任何类似的功能都是不可移植的供应商特性。特别是对于您的第二个需求(基于JMS客户机的“种类”,而不是基于发送/接收相同连接的一些控制)

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


如果您想调查特定于供应商的选项,您需要告诉我们您感兴趣的供应商。你可能什么也得不到,但是没有人会回答你,所以我会插话(用手摇摇晃晃的方式)

我相信周围没有任何东西可以控制你是否在主题接收器上收到自己发送的消息。因此,任何类似的功能都是不可移植的供应商特性。特别是对于您的第二个需求(基于JMS客户机的“种类”,而不是基于发送/接收相同连接的一些控制)

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


如果您想调查特定于供应商的选项,您需要告诉我们您感兴趣的供应商。您可能什么也得不到,但如果不询问,就无法知道。

JMS API包含针对TopicSubscriber的此选项,例如TIBCO EMS让您使用“noLocal”属性创建消费者。这意味着在同一连接上发布的消息不会被同一连接上的客户端使用

e、 g.在此处查看如何使用“noLocal”选项创建主题订阅服务器:

JMS API包含用于TopicSubscriber的此选项,例如TIBCO EMS让您使用“noLocal”属性创建消费者。这意味着在同一连接上发布的消息不会被同一连接上的客户端使用

e、 g.在此处查看如何使用“noLocal”选项创建主题订阅服务器:

谢谢。我对任何支持我所需功能的解决方案/供应商都感兴趣。我不介意它是非通用的,尽管我有点惊讶这样一个基本的功能不是标准的(它甚至存在于非常琐碎的消息广播机制-UDP中),你已经有了构建块来完成这类事情,包括消息属性和消费者选择器。但这需要修改代码的灵活性。我不知道有哪家供应商提供这样的功能。我只是在猜测…谢谢。我对任何支持我所需功能的解决方案/供应商都感兴趣。我不介意它是非通用的,尽管我有点惊讶这样一个基本的功能不是标准的(它甚至存在于非常琐碎的消息广播机制-UDP中),你已经有了构建块来完成这类事情,包括消息属性和消费者选择器。但这需要修改代码的灵活性。我不知道有哪家供应商提供这样的功能。我只是在猜测。。。