activemq - 如何在没有 BLOB 消息的情况下使用 ActiveMQ5 传输 ~2GB 的大文件
问题描述
我们正在从 IBM MQ 迁移到 Active MQ 5。IBM MQ 支持分段功能来发送大文件,而 Active MQ5 支持 BLOB 消息,但我们不想使用 BLOB 消息。我们如何使用 ActiveMQ5 中的 ByteMessages 或除 BLOB 消息之外的任何其他替代方案来实现分段?
当我尝试使用 ByteMessage 放置一个 100 MB 的文件时,我收到了一个套接字错误。
解决方案
ActiveMQ 代理不提供内置的分段功能,因此您受限于 JVM 的边界和当前的内存分配设置。通常,这种大小的消息并不是 JMS 消息传递的真正设计目的,其他选项通常会为发送和接收如此大的消息提供更强大的服务。话虽如此,ActiveMQ Artemis 代理确实在其基于核心协议的 JMS 客户端中提供了对消息流的一些支持,因此如果您选择避免使用 BlobMessage,则可以查看那里而不是使用 ActiveMQ 5.x。
推荐阅读
- java - Java Server - 错误地发送数据包?
- android - 如何使用状态更改 Switch 切换按钮的颜色?
- reactjs - 我的 Uppy 突然给我错误 this.uppy.addFiles is not a function
- flutter - 从 Api 进行 Flutter 延迟加载
- c# - C# Google Calendar API - 无效的截止日期日历格式
- sql-server - 为什么 SELECT @@VERSION 在安装新的 SQL Server 后返回以前的版本
- python - 使用循环增加字符串中包含的数值(Python)
- sql - 为什么我不能在excel中双重加入查询
- c# - 覆盖 WPF 中的工具提示
- android - (可变)在 UI 上未观察到 LiveData