Apache ActiveMQ Artemis消息大小配置

时间:2019-02-26 15:24:31

标签: activemq-artemis

我正在尝试ActiveMQ Artemis进行消息传递设计。我期望消息包含嵌入式文件内容(字节)。我不希望它们大于10MB。但是,我想知道在Artemis中是否有一种可配置的方式来处理该问题。 还有默认的最大邮件大小支持吗? 我尝试并搜索了答案,但找不到任何答案。 另外,我的生产者和使用者都是.Net AMQP实现。

1 个答案:

答案 0 :(得分:2)

ActiveMQ Artemis本身对邮件的大小没有限制。它任意支持large messages。但是,您会受到一些限制:

  1. 代理的堆空间:如果客户端将消息全部发送到一个块中,并且导致代理超出了它的可用堆空间,则发送消息将失败。代理无法控制AMQP客户端如何发送消息。我相信AMQP支持分块发送消息,但我不确定100%这样。
  2. 代理的磁盘空间:被代理视为“大”的AMQP消息(即那些不能放入单个日记文件的消息)将直接存储在data/largemessages目录的磁盘上。 ActiveMQ Artemis日志文件的大小由broker.xml中的journal-file-size配置参数控制。默认journal-file-size为10MB。默认情况下,当磁盘空间利用率达到90%时,代理将停止向生产者提供信用。这由broker.xml中的max-disk-usage配置参数控制。