首页 > 解决方案 > 如何在没有 BLOB 消息的情况下使用 ActiveMQ5 传输 ~2GB 的大文件

问题描述

我们正在从 IBM MQ 迁移到 Active MQ 5。IBM MQ 支持分段功能来发送大文件,而 Active MQ5 支持 BLOB 消息,但我们不想使用 BLOB 消息。我们如何使用 ActiveMQ5 中的 ByteMessages 或除 BLOB 消息之外的任何其他替代方案来实现分段?

当我尝试使用 ByteMessage 放置一个 100 MB 的文件时,我收到了一个套接字错误。

标签: activemqfile-transfer

解决方案


ActiveMQ 代理不提供内置的分段功能,因此您受限于 JVM 的边界和当前的内存分配设置。通常,这种大小的消息并不是 JMS 消息传递的真正设计目的,其他选项通常会为发送和接收如此大的消息提供更强大的服务。话虽如此,ActiveMQ Artemis 代理确实在其基于核心协议的 JMS 客户端中提供了对消息流的一些支持,因此如果您选择避免使用 BlobMessage,则可以查看那里而不是使用 ActiveMQ 5.x。


推荐阅读