JMS主题消息大小

时间:2009-10-08 06:15:17

标签: java java-ee jms

我们的应用程序使用主题将消息推送给一小组订阅者。在根据要推送的实际消息的大小建模jms消息时,我应该寻找什么样的东西。是否有任何已知限制或特定于应用程序服务器?关于这个主题的任何最佳实践或建议(双关语意外)?

4 个答案:

答案 0 :(得分:4)

在达到技术限制之前,您可能会达到实际限制。也就是说,消息长度可能在长度上有技术限制,可以用int或long表示,但这不太可能是你遇到的第一个约束。

以兆字节为单位的消息长度往往是重量级的。想想几个K就像你想要的球场一样。

有时使用的技术是发送说“项目123435已更新”的小消息,然后消费者从数据库或其他存储机制中检索与项目12345相关联的数据。因此,每个客户端只能获得他们需要的数据,我们不会在订户可能不需要的时候喷洒大量数据。

答案 1 :(得分:3)

我建议您查看预订企业集成模式 ,其中会详尽地分析处理您所询问的问题的许多模式。特别是,如果邮件的大小很大,您可以使用邮件序列来解决问题:

  

大量数据:有时候   应用程序想真正转移   大数据结构,可能不是   舒适地贴合在一条信息中。   在这种情况下,将数据分成更多   可管理的块并将它们发送为   Message Sequence。大块   必须作为序列发送,而不是   只是一堆消息,所以   接收器可以重建原件   数据结构。

引自http://www.eaipatterns.com/MessageConstructionIntro.html

有关本书每种模式简要说明的主页,请访问http://www.eaipatterns.com/index.html

答案 2 :(得分:0)

具体实施。正如您所料,越小越好。例如,Tibco建议将邮件大小保持在100 KB以下。

答案 3 :(得分:0)

显然,小消息更快。话虽如此,底层的JMS服务器实现可以使用例如消息压缩来提高性能,例如Weblogic 9.(http://download.oracle.com/docs/cd/E13222_01/wls/docs92/perform/jmstuning.html#wp1150012