Class SizeBasedMessageBuffer
- java.lang.Object
-
- org.apache.activemq.memory.buffer.SizeBasedMessageBuffer
-
- All Implemented Interfaces:
MessageBuffer
public class SizeBasedMessageBuffer extends Object implements MessageBuffer
AMessageBuffer
which evicts from the largest buffers first.
-
-
Constructor Summary
Constructors Constructor Description SizeBasedMessageBuffer()
SizeBasedMessageBuffer(int limit)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
bubbleDown(MessageQueue biggest, int position)
protected void
bubbleUp(MessageQueue queue, int queueSize)
void
clear()
MessageQueue
createMessageQueue()
Creates a new message queue instanceint
getSize()
void
onSizeChanged(MessageQueue queue, int delta, int queueSize)
After a message queue has changed we may need to perform some evictionsprotected void
swap(int firstPosition, MessageQueue first, int secondPosition, MessageQueue second)
-
-
-
Method Detail
-
getSize
public int getSize()
- Specified by:
getSize
in interfaceMessageBuffer
-
createMessageQueue
public MessageQueue createMessageQueue()
Creates a new message queue instance- Specified by:
createMessageQueue
in interfaceMessageBuffer
-
onSizeChanged
public void onSizeChanged(MessageQueue queue, int delta, int queueSize)
After a message queue has changed we may need to perform some evictions- Specified by:
onSizeChanged
in interfaceMessageBuffer
- Parameters:
delta
-queueSize
-
-
clear
public void clear()
- Specified by:
clear
in interfaceMessageBuffer
-
bubbleUp
protected void bubbleUp(MessageQueue queue, int queueSize)
-
bubbleDown
protected void bubbleDown(MessageQueue biggest, int position)
-
swap
protected void swap(int firstPosition, MessageQueue first, int secondPosition, MessageQueue second)
-
-