Jboss Messaging。每次发送一条消息

时间:2012-08-27 17:16:26

标签: jboss messaging

我们正在使用JBOSS 5.1.0,我们使用主题来存储我们的消息。我们的客户正在进行持久订阅以获取这些消息。

一切都运行良好,但有一个问题是我们从TCP客户端获取数据,我们正在处理并将其保留在主题中,它每秒发送大约10条消息,而我们的客户端一次只读取一条消息。这之间存在巨大的差距,并且在一段时间之后JBOSS主题有很多消息并且崩溃说内存不足。 有没有解决方法。

1 个答案:

答案 0 :(得分:0)

基本上,制作人生产的消息比消费者可以处理的消息多10倍。如果这种情况稳定(不仅在高峰期),这将永远不会有效。

如果您限制生产者每秒只发送一条消息(当然可以,例如签出RateLimiter),您将如何处理生产者方面的额外消息?如果他们没有在主题中排队,他们将在生产者方面排队。

你几乎没有选择:

  • 以某种方式调整您的消费者以更快地处理消息,因此主题永远不会被填满

  • 调整主题以使用持久存储。这要好得多。不仅主题不会将所有内容存储在内存中,而且您还可能获得事务行为(消息是持久的)

  • 将要设置的主题消息队列放入主题并每秒处理一条消息。该队列必须是持久的,并且必须能够保留比当前主题

  • 更多的消息
相关问题