|
|||||||||||
| 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,
java.lang.String destinationName)
|
|
DurableQueueMessageContainer(PersistenceAdapter persistenceAdapter,
MessageStore messageStore,
java.lang.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. |
java.lang.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,
java.lang.String destinationName)
public DurableQueueMessageContainer(PersistenceAdapter persistenceAdapter,
MessageStore messageStore,
java.lang.String destinationName,
QueueList messagesToBeDelivered,
QueueList deliveredMessages)
| Method Detail |
public java.lang.String getDestinationName()
getDestinationName in interface MessageContainer
public void addMessage(ActiveMQMessage message)
throws javax.jms.JMSException
MessageContainer
addMessage in interface MessageContainermessage -
javax.jms.JMSException
public void delete(MessageIdentity messageID,
MessageAck ack)
throws javax.jms.JMSException
MessageContainer
delete in interface MessageContainermessageID - ack -
javax.jms.JMSException
public ActiveMQMessage getMessage(MessageIdentity messageID)
throws javax.jms.JMSException
MessageContainer
getMessage in interface MessageContainermessageID -
javax.jms.JMSException
public boolean containsMessage(MessageIdentity messageIdentity)
throws javax.jms.JMSException
MessageContainer
containsMessage in interface MessageContainermessageIdentity -
javax.jms.JMSExceptionpublic void registerMessageInterest(MessageIdentity messageIdentity)
registerMessageInterest in interface MessageContainermessageIdentity - public void unregisterMessageInterest(MessageIdentity ack)
unregisterMessageInterest in interface MessageContainerack -
public ActiveMQMessage poll()
throws javax.jms.JMSException
QueueMessageContainer
poll in interface QueueMessageContainerjavax.jms.JMSException
public ActiveMQMessage peekNext(MessageIdentity messageID)
throws javax.jms.JMSException
QueueMessageContainer
peekNext in interface QueueMessageContainermessageID - the id if the message. If this is null, the first message will be retrieved
javax.jms.JMSException
public void returnMessage(MessageIdentity messageIdentity)
throws javax.jms.JMSException
QueueMessageContainer
returnMessage in interface QueueMessageContainermessageIdentity -
javax.jms.JMSException
public void reset()
throws javax.jms.JMSException
reset in interface QueueMessageContainerjavax.jms.JMSException
public void start()
throws javax.jms.JMSException
QueueMessageContainer
start in interface QueueMessageContainerjavax.jms.JMSException
public void recoverMessageToBeDelivered(MessageIdentity messageIdentity)
throws javax.jms.JMSException
QueueMessageContainer
recoverMessageToBeDelivered in interface QueueMessageContainerjavax.jms.JMSException
public void stop()
throws javax.jms.JMSException
Service
stop in interface Servicejavax.jms.JMSExceptionpublic MessageContainerAdmin getMessageContainerAdmin()
getMessageContainerAdmin in interface MessageContainerMessageContainer.getMessageContainerAdmin()
public void empty()
throws javax.jms.JMSException
MessageContainerAdmin
empty in interface MessageContainerAdminjavax.jms.JMSExceptionMessageContainerAdmin.empty()public boolean isDeadLetterQueue()
MessageContainer
isDeadLetterQueue in interface MessageContainerMessageContainer.isDeadLetterQueue()public void setDeadLetterQueue(boolean value)
QueueMessageContainer
setDeadLetterQueue in interface QueueMessageContainervalue - QueueMessageContainer.setDeadLetterQueue(boolean)
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||