activemq消息队列的大小配置的配置
?????????? 在网上有人问,如何在activemq.xml里面配置消息队列的大小,这样才保证队列不会溢出!如果采用非持久化消息,那么当大量发送失败时候,首先大量占用内存。造成消息堆积,容易造成内存溢出,所以个人比较倾向于持久化消息的同时配合其他方式的master/slave或者failover机制,尽量保持消息的畅通。当我们开发的Java的使用应用程序的时候,有的时候需要为java应用指定对应的内存大小。当在测试的时候,有的同学也许会遇到ActiveMQ报内存不足的问题,我们可以修改ActiveMQ使用的内存的多少类似Java 的内存的设置,在ActiveMQ.bat或者activemq(linux)文件中
如下:
?
其中ACTIVEMQ_OPTS中指定ActiveMQ的使用的内存的大小。
?
?
?
? 下面为ActiveMQ的内存分配信息。activemq.xml中的配置情况:
?
?
?
?memoryUsage:表示所有队列对象占用的内存大小为20mb;
?
AbstractPendingMessageCursor计算空间的方法源代码如下:
多谢支持,谢谢!