JMS处理消息的时间太长

时间:2015-09-15 21:55:23

标签: java java-ee jms

应用程序具有负责传递审核日志的JMS队列。应用程序将日志发送到JMS队列,此队列由MDB使用。

但是,发送的消息是大型XML文件,从20 MB到100 MB不等。问题是JMS队列消耗太长时间消耗消息,导致出现OutOfMemory错误。

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:0)

这个答案可能对jguilhermemv没有帮助,只想分享一个想法,为那些可以阅读这篇文章,解决大消息。 首先是尽量不发送大消息,现在我们有两个选项( 但这些需要实现更改,可以在启动时完成,或者如果在后期允许系统实现更改 < /强>):

  1. 尝试将日志保存在数据库中,并在JMS消息中仅发送log-id。 (不建议在DB中保存日志,因为大小和保存时间将在以后阶段再次出现问题。

  2. 以文件形式(将它们保存在公共位置)和数据库中的文件名保存日志,并通过JMS共享这些文件名ID。消费者可以在消费后读取该日志文件。