|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.activemq.service.impl.DurableQueueMessageContainer
A default implementation of a Durable Queue based
MessageContainer
which acts as an adapter between the MessageContainerManager
requirements and those of the persistent MessageStore
implementations.
Constructor Summary | |
DurableQueueMessageContainer(PersistenceAdapter persistenceAdapter,
MessageStore messageStore,
String destinationName)
|
|
DurableQueueMessageContainer(PersistenceAdapter persistenceAdapter,
MessageStore messageStore,
String destinationName,
QueueList messagesToBeDelivered,
QueueList deliveredMessages)
|
Method Summary | |
void |
addMessage(ActiveMQMessage message)
Add an ActiveMQMessage to the message container |
boolean |
containsMessage(MessageIdentity messageIdentity)
Returns whether or not this container contains the given message identity which provides an optimisation over getMessage() where the message does not need to be loaded. |
void |
delete(MessageIdentity messageID,
MessageAck ack)
Delete a message - if no |
void |
empty()
Deletes all the messages that a container holds. |
String |
getDestinationName()
|
ActiveMQMessage |
getMessage(MessageIdentity messageID)
Return the ActiveMQMessage that matches the Id |
MessageContainerAdmin |
getMessageContainerAdmin()
|
boolean |
isDeadLetterQueue()
returns true if this container is a dead letter queue |
ActiveMQMessage |
peekNext(MessageIdentity messageID)
Used for browsing a MessageContainer this returns the next message in the container after the messageId |
ActiveMQMessage |
poll()
Some implementations may need to poll to fill subscriptions this returns the next message in the container |
void |
recoverMessageToBeDelivered(MessageIdentity messageIdentity)
Invoked during the recovery to add the given message to the end of the messages to be delivered. |
void |
registerMessageInterest(MessageIdentity messageIdentity)
Does nothing since when we receive an acknowledgement on a queue we can delete the message |
void |
reset()
called to reset dispatch pointers if a new Message Consumer joins |
void |
returnMessage(MessageIdentity messageIdentity)
After a poll() on the Container, if a message can't be dispatched, it is returned |
void |
setDeadLetterQueue(boolean value)
set this MessageContainer to be a dead letter queue |
void |
start()
This container has just been loaded from disk and so it needs to be recovered, that is iterate through all the message IDs in the persistent store and add them to the in memory list of message IDs to be dispatched by consumers |
void |
stop()
Called to shutdown the service |
void |
unregisterMessageInterest(MessageIdentity ack)
Does nothing since when we receive an acknowledgement on a queue we can delete the message |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public DurableQueueMessageContainer(PersistenceAdapter persistenceAdapter, MessageStore messageStore, String destinationName)
public DurableQueueMessageContainer(PersistenceAdapter persistenceAdapter, MessageStore messageStore, String destinationName, QueueList messagesToBeDelivered, QueueList deliveredMessages)
Method Detail |
public String getDestinationName()
getDestinationName
in interface MessageContainer
public void addMessage(ActiveMQMessage message) throws JMSException
MessageContainer
addMessage
in interface MessageContainer
message
-
JMSException
public void delete(MessageIdentity messageID, MessageAck ack) throws JMSException
MessageContainer
delete
in interface MessageContainer
messageID
- ack
-
JMSException
public ActiveMQMessage getMessage(MessageIdentity messageID) throws JMSException
MessageContainer
getMessage
in interface MessageContainer
messageID
-
JMSException
public boolean containsMessage(MessageIdentity messageIdentity) throws JMSException
MessageContainer
containsMessage
in interface MessageContainer
messageIdentity
-
JMSException
public void registerMessageInterest(MessageIdentity messageIdentity)
registerMessageInterest
in interface MessageContainer
messageIdentity
- public void unregisterMessageInterest(MessageIdentity ack)
unregisterMessageInterest
in interface MessageContainer
ack
- public ActiveMQMessage poll() throws JMSException
QueueMessageContainer
poll
in interface QueueMessageContainer
JMSException
public ActiveMQMessage peekNext(MessageIdentity messageID) throws JMSException
QueueMessageContainer
peekNext
in interface QueueMessageContainer
messageID
- the id if the message. If this is null, the first message will be retrieved
JMSException
public void returnMessage(MessageIdentity messageIdentity) throws JMSException
QueueMessageContainer
returnMessage
in interface QueueMessageContainer
messageIdentity
-
JMSException
public void reset() throws JMSException
reset
in interface QueueMessageContainer
JMSException
public void start() throws JMSException
QueueMessageContainer
start
in interface QueueMessageContainer
JMSException
public void recoverMessageToBeDelivered(MessageIdentity messageIdentity) throws JMSException
QueueMessageContainer
recoverMessageToBeDelivered
in interface QueueMessageContainer
JMSException
public void stop() throws JMSException
Service
stop
in interface Service
JMSException
public MessageContainerAdmin getMessageContainerAdmin()
getMessageContainerAdmin
in interface MessageContainer
MessageContainer.getMessageContainerAdmin()
public void empty() throws JMSException
MessageContainerAdmin
empty
in interface MessageContainerAdmin
JMSException
MessageContainerAdmin.empty()
public boolean isDeadLetterQueue()
MessageContainer
isDeadLetterQueue
in interface MessageContainer
MessageContainer.isDeadLetterQueue()
public void setDeadLetterQueue(boolean value)
QueueMessageContainer
setDeadLetterQueue
in interface QueueMessageContainer
value
- QueueMessageContainer.setDeadLetterQueue(boolean)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |