Class SizeBasedMessageBuffer
java.lang.Object
org.apache.activemq.memory.buffer.SizeBasedMessageBuffer
- All Implemented Interfaces:
MessageBuffer
A
MessageBuffer which evicts from the largest buffers first.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidbubbleDown(MessageQueue biggest, int position) protected voidbubbleUp(MessageQueue queue, int queueSize) voidclear()Creates a new message queue instanceintgetSize()voidonSizeChanged(MessageQueue queue, int delta, int queueSize) After a message queue has changed we may need to perform some evictionsprotected voidswap(int firstPosition, MessageQueue first, int secondPosition, MessageQueue second)
-
Constructor Details
-
SizeBasedMessageBuffer
public SizeBasedMessageBuffer() -
SizeBasedMessageBuffer
public SizeBasedMessageBuffer(int limit)
-
-
Method Details
-
getSize
public int getSize()- Specified by:
getSizein interfaceMessageBuffer
-
createMessageQueue
Creates a new message queue instance- Specified by:
createMessageQueuein interfaceMessageBuffer
-
onSizeChanged
After a message queue has changed we may need to perform some evictions- Specified by:
onSizeChangedin interfaceMessageBuffer- Parameters:
delta-queueSize-
-
clear
public void clear()- Specified by:
clearin interfaceMessageBuffer
-
bubbleUp
-
bubbleDown
-
swap
-