使用IBM WEBSHPERE MQ发送大的消息
2007-11-15 11:27
375 查看
使用IBM WEBSHPERE MQ发送大的消息
2007-11-15 创建
如果仅仅使用MQ队列管理器的缺省配置, MQ仅能发送3M-4M左右的消息(单条), 而很多情况下, 需要发送的消息长度超过了这个数量, 实现大消息的发送要解决三个方面的问题,
1, 日志文件
使用缺省配置创建的队列管理器有3个主日志文件, 2个辅日志文件, 每个文件256页, 每页4K, 因此最大的日志空间为 5 * 256 * 4K 大约5M, 因此该空间将单条消息的长度限制在
3-4M左右(去除一些管理开销). 如果需要发送长度大于这个限制的单条消息, 则必须扩展日志大小.
MQ规定主文件的数量为2-62个, 主文件和辅文件的总数在3到63之间.
如果需要发送单条在100M左右的消息, 可以创建1024个4K数据块的日志文件, 主文件为32个, 4个备份文件. 大约36 * 1024 * 4 = 144M
2, 队列管理器, 队列, 通道的最大消息配置
在应用程序不做改变的情况下, 队列管理器, 接收队列还有传输通道所允许的最大消息长度必须大于单条消息的长度, 我们在配置中进行相应的修改就可以了.
3, 发送和接收应用程序的消息发送和接收方法
实际上, 应用程序可以通过修改消息发送和接收的方式,在不改变配置的情况下发送超过最大消息长度的消息, 方法就是消息分块(SEGMENT)发送和接收.
在发送时,应用程序指定可以消息分快发送,MQ将自动把大消息切分为一段段消息片断,
mqMsg.MessageFlags = MQC.MQMF_SEGMENTATION_ALLOWED;
然后在接收时, 同样指定分段数据的完整接收, 以便将消息重新组合.
mqGetMsgOpts.Options |= MQC.MQGMO_WAIT + MQC.MQGMO_ALL_SEGMENTS_AVAILABLE;
使用消息分块的方式发送和接收消息,可以不关心队列管理器, 接收队列, 发送通道的最大消息长度设置. 如果系统中最大的消息长度大于100M以上, 例如发送大的视频文件等, 建议使用这种方式.
2007-11-15 创建
如果仅仅使用MQ队列管理器的缺省配置, MQ仅能发送3M-4M左右的消息(单条), 而很多情况下, 需要发送的消息长度超过了这个数量, 实现大消息的发送要解决三个方面的问题,
1, 日志文件
使用缺省配置创建的队列管理器有3个主日志文件, 2个辅日志文件, 每个文件256页, 每页4K, 因此最大的日志空间为 5 * 256 * 4K 大约5M, 因此该空间将单条消息的长度限制在
3-4M左右(去除一些管理开销). 如果需要发送长度大于这个限制的单条消息, 则必须扩展日志大小.
MQ规定主文件的数量为2-62个, 主文件和辅文件的总数在3到63之间.
如果需要发送单条在100M左右的消息, 可以创建1024个4K数据块的日志文件, 主文件为32个, 4个备份文件. 大约36 * 1024 * 4 = 144M
2, 队列管理器, 队列, 通道的最大消息配置
在应用程序不做改变的情况下, 队列管理器, 接收队列还有传输通道所允许的最大消息长度必须大于单条消息的长度, 我们在配置中进行相应的修改就可以了.
3, 发送和接收应用程序的消息发送和接收方法
实际上, 应用程序可以通过修改消息发送和接收的方式,在不改变配置的情况下发送超过最大消息长度的消息, 方法就是消息分块(SEGMENT)发送和接收.
在发送时,应用程序指定可以消息分快发送,MQ将自动把大消息切分为一段段消息片断,
mqMsg.MessageFlags = MQC.MQMF_SEGMENTATION_ALLOWED;
然后在接收时, 同样指定分段数据的完整接收, 以便将消息重新组合.
mqGetMsgOpts.Options |= MQC.MQGMO_WAIT + MQC.MQGMO_ALL_SEGMENTS_AVAILABLE;
使用消息分块的方式发送和接收消息,可以不关心队列管理器, 接收队列, 发送通道的最大消息长度设置. 如果系统中最大的消息长度大于100M以上, 例如发送大的视频文件等, 建议使用这种方式.
相关文章推荐
- MQ系列3 使用Spring发送,消费topic和queue消息 activeMQ
- IBM WebSphere MQ发送消息和接收消息
- 使用JAVA代码发送MQ消息
- mq 使用Spring发送,消费topic和queue消息
- IBM websphere MQ 消息发送与获取
- .Net环境下操作IBM WebShpere MQ
- ActiveMQ使用spring JmsTemplate发送消息(一)
- ActiveMQ使用spring JmsTemplate发送消息(一)
- ActiveMQ使用spring JmsTemplate发送消息(一)
- activemq使用JMS发送消息和接收消息
- 使用C#在应用程序间发送消息(转)
- 关于消息队列的使用----ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
- ActiveMQ 使用Queue或者Topic发送/接受消息
- 使用 IBM Lotus Expeditor micro broker MQTT 客户机发布消息
- 使用php发送msn消息
- 使用阿里云消息服务mns发送短信
- [置顶] 【MQ】Eclipse向RocketMQ中发送和接收消息
- 使用EventBus发送消息 简单
- 使用Tab控件时子主窗口发送多个消息
- 使用 Web Services Enhancements 发送带有附件的 SOAP 消息