hornetq消费者流量控制

时间:2016-02-13 12:52:43

标签: jms hornetq

我在http://hornetq.sourceforge.net/docs/hornetq-2.0.0.GA/user-manual/en/html/flow-control.html

阅读

“消费者流量控制”

当客户端使用消息时,它控制服务器和客户端之间的数据流。出于性能原因,客户端通常在通过receive()方法传递给使用者之前缓冲消息,或者通过消息侦听器异步地缓冲消息。如果消费者无法像传递消息那样快速处理消息并将其存储在内部缓冲区中,那么最终可能会出现消息不断增加的情况,如果无法及时处理消息,可能导致客户端内存不足。 “

但我不明白...... 客户的意义是什么?它是否意味着不同于服务器jvm的jvm?那么hornetq服务器会将消息从队列(或主题?)传递到客户端jvm堆,以便接收者在内存中使用它们吗?如果客户端与服务器在同一个jvm中该怎么办?

1 个答案:

答案 0 :(得分:1)

如果MDB部署在与HornetQ代理相同的服务器上,则客户端可以位于不同的JVM或相同的JVM中。唯一的区别是它将使用的连接类型。如果是不同的JVM,它将使用netty连接器,如果是相同的JVM,它将使用inVM连接器。在这两种情况下,流量控制的行为都完全相同。