消息队列 资源不足,无法执行操作

System.Messaging.MessageQueueException: 资源不足,无法执行操作。
   在 System.Messaging.MessageQueue.SendInternal(Object obj, MessageQueueTransac
tion internalTransaction, MessageQueueTransactionType transactionType)
   在 System.Messaging.MessageQueue.Send(Object obj)

 

出现这样的情况,

1,从逻辑上就直接改,让消息队列中不使用大对象,使用更小的对象。

2,简单粗暴的解决.如下图:

 

3,或使用数据分包的方式。, 这个方式适用于大数据对象的发送。

时间: 2024-10-18 14:48:17

消息队列 资源不足,无法执行操作的相关文章

消息队列、信号量、共享存储

消息队列.信号量.共享存储是IPC进程间通信的三种形式,它们功能不同,但有一些相似点,下面先介绍它们相类似的特征,然后再逐一说明. 1.相似点 每个内核中的IPC结构(消息队列.信号量.共享存储)都用一个非负整数的标识符加以引用,与文件描述符不同,当一个IPC结构被创建,以后又被删除时,与这种结构相关的标识符连续加1,直至达到一个整型数的最大正直,然后又回转到0.标识符是IPC对象的内部名,还有一个外部名称为键,数据类型是key_t,用于多个合作进程能够在同一IPC对象上会合,键由内核转换成标识

转:为什么会需要消息队列(MQ)?

为什么会需要消息队列(MQ)? ########################################################################################## 主要原因是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达MySQL,直接导致无数的行锁表锁,甚至最后请求会堆积过多,从而触发too many connections错误.通过使用消息队列,我们可以异步处理请求,从而

消息队列一:为什么需要消息队列(MQ)?

为什么会需要消息队列(MQ)? ########################################################################################## 主要原因是由于在高并发环境下,由于来不及同步处理,请求往往会发生堵塞,比如说,大量的insert,update之类的请求同时到达MySQL,直接导致无数的行锁表锁,甚至最后请求会堆积过多,从而触发too many connections错误.通过使用消息队列,我们可以异步处理请求,从而

第十一章 企业项目开发--消息队列activemq

注意:本章代码基于 第十章 企业项目开发--分布式缓存Redis(2) 代码的github地址:https://github.com/zhaojigang/ssmm0 消息队列是分布式系统中实现RPC的一种手段. 1.消息队列的基本使用流程 假设: 我们有这样一个需求,当每注册一个admin的之后,就写一条日志log数据到数据库. 分析: 在实际中,我们是不会把日志直接写入数据库的,因为日志数据通常是庞大的,而且日志的产生是频繁的,如果我们使用数据库存储日志,哪怕是使用异步存储,也是极耗性能的.

消息队列最大数目

消息队列: 1.每次msgrcv一个消息,1.那个消息会在内核中移除 2.每次msgrcv都只会给一个消息出来,不管你rcv用多大的buf来接收,都是可以的.如果msgrcv的bufSize小于实际的该消息的大小,那么可以设置一个标志:表示截断. 如果不设置,那么会报错.取不出来. 2.消息满了,则默认0为阻塞,直到有了空间位置,才能snd消息进入到内核. 消息空了,则默认为0阻塞,直到有了一个消息位置,才能 rcv消息进入到进程内存. 3.如果指定msgflg:MSG_NOERROR,如果函数

详解.Net消息队列(MSMQ)应用

[IT168 技术文档]MSMQ是Windows 2000.Windows XP.Windows Server 2003的一个组件,并将继续包含在Windows Vista和以后的Windows服务器中.即使目标接收应用程序没有运行,或运行发送或接收应用程序的计算机没有联网,协同合作的应用程序仍能利用MSMQ在彼此之间发送和接收消息.在到达目标队列之前,消息由MSMQ存储并转发.接收应用程序能够从队列中恢复数据. MSMQ之类消息队列的主要特点在于它分离发送和接收应用程序,使其不必同时运行.这意

RabbitMQ 消息队列 应用

安装参考    详细介绍   学习参考 RabbitMQ 消息队列 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统.他遵循Mozilla Public License开源协议. MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术.

Linux进程间通信—消息队列

四.消息队列(Message Queue) 消息队列就是消息的一个链表,它允许一个或者多个进程向它写消息,一个或多个进程向它读消息.Linux维护了一个消息队列向量表:msgque,来表示系统中所有的消息队列. 消息队列克服了信号传递信息少,管道只能支持无格式字节流和缓冲区受限的缺点. 消息队列用于运行于同一台机器上的进程间通信,它和管道很相似,是一个在系统内核中用来保存消息的队列,它在系统内核中是以消息链表的形式出现.消息链表中节点的结构用msg声明. 事实上,它是一种正逐渐被淘汰的通信方式,

RAW-OS:消息队列

平台:VS2010 版本:1.04 我们先看看消息队列的数据结构: typedef struct RAW_QUEUE { RAW_COMMON_BLOCK_OBJECT common_block_obj; RAW_MSG_Q msg_q; RAW_VOID (*queue_send_notify)(struct RAW_QUEUE *queue_ptr); } RAW_QUEUE; RAW_MSG_Q: typedef struct RAW_MSG_Q { RAW_VOID **queue_st