我知道对于一些专家来说,这可能听起来很荒谬,然而,它已经存在了很长一段时间,仍然没有找到具体的答案。
在PUBLISH/SUBSCRIBE MESSAGING WITH JMS TOPICS中:JMS发布者将msg发送给JMS提供者,JMS提供者将msg发送给JMS订阅者并收到他们的确认。
我是否有可能以某种方式修改JMS提供程序,以便JMS生成器只发送它从JMS发布者收到的所有其他消息?
在这个领域完全是新手,所以欢迎任何建议。
答案 0 :(得分:1)
如果您想要的是订阅者能够配置为批量接收消息,其中每个订阅者可以具有不同的批量大小,则JMS将不提供此功能。这不是典型的pubsub类型场景。
如果你想完成这个,我建议你在你的订阅方添加一些自定义缓冲,它会排队收到的消息,然后在你的队列满了时进行批量通知。然后可以在每个订户的基础上轻松配置。
我所知道的唯一一个提供类似功能的消息系统是pubsub in XMPP,但即使这样,批次也是由定时间隔而不是数字决定的。
答案 1 :(得分:0)
您可以使用JMS API消息选择器查看对JMS订阅的过滤。然后,您只能读取/处理符合特定条件的消息。
有关您要完成的内容的更多信息(过滤?测试丢弃的消息?负载平衡?完全不同的其他内容?)您可能会得到更好的答案。
答案 2 :(得分:0)
你为什么要这样做?难道它不会打败整个消息传递,这不会丢失任何消息吗?或者您是否想要准确控制消息如何分发给订阅者?即使这样也违反了基本的JMS规范。