JBoss HornetQ/ActiveMQ Artemis 将队列消息保存到文件系统

问题描述

有人可以帮助我理解将 hornetq/ActiveMQ Artemis 消息保存到文件系统并每次绕过队列的影响吗?

消息超过 2GB,我在 hornetq described here 中遇到了 Maximum size 2GB exceeded 异常。所以我打算不将消息添加到队列中,而是手动将其写入磁盘并在标头中传递文件的路径并从文件中读取消息。我真的不知道性能影响,所以问如果我对小于 2GB 的所有消息都这样做,会不会有任何性能影响?

解决方法

根据您提供的信息,我认为没有人可以确定手动将文件写入磁盘与将文件发送到代理的“性能影响”。

一般来说,您首先会节省将文件发送到代理所需的时间,但您不会指出硬盘驱动器的速度。如果代理上的硬盘驱动器比客户端上的硬盘驱动器快得多,那么手动将文件写入磁盘总体上可能需要更长的时间。

此外,如果客户端与代理之间的网络速度较慢,而客户端与要写入文件的共享驱动器之间的网络速度较快,那么手动将文件写入磁盘总体上可能会更快。>

最终由您来测试更改对性能的影响。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...