我可以在 ActiveMQ Classic 上发送非常大的文件吗?
常见问题解答 > 使用 Apache ActiveMQ Classic > 我可以在 ActiveMQ Classic 上发送非常大的文件吗?
我可以在 ActiveMQ Classic 上发送非常大的文件吗?
如果您使用的是 ActiveMQ Classic 4.2 或更高版本,我们强烈建议您使用 Blob 消息,它实现了消息的带外传输。如果需要,它允许将文件托管在外部 http/ftp 站点,并且可以支持直接发布者 <-> 订阅者通信或发布者 -> 代理/文件服务器 -> 消费者消息传递。
对于 4.1 或更早版本,大型文件传输是使用 JMS 流 实现的。
通常,JMS API 预计整个 JMS 消息都驻留在客户端内存中;但是,使用 Blob 消息 或 JMS 流 允许您发送和接收任意大小的文件,而内存开销非常低。
如果您希望代理本身能够处理大型消息(即无需使用带外传输机制,如 HTTP 或 FTP),请使用 ActiveMQ Artemis。