org.activemq.service.impl
Class DurableQueueMessageContainerManager

java.lang.Object
  extended by org.activemq.service.impl.MessageContainerManagerSupport
      extended by org.activemq.service.impl.DurableQueueMessageContainerManager
All Implemented Interfaces:
MessageContainerManager, QueueMessageContainerManager, Service

public class DurableQueueMessageContainerManager
extends MessageContainerManagerSupport
implements QueueMessageContainerManager

A default Broker used for Queue messages

Version:
$Revision: 1.1.1.1 $

Field Summary
protected  Map activeSubscriptions
           
protected  Map browsers
           
protected  DestinationMap destinationMap
           
protected  FilterFactory filterFactory
           
protected  Map messagePartSubscribers
           
protected  SubscriptionContainer subscriptionContainer
           
 
Fields inherited from class org.activemq.service.impl.MessageContainerManagerSupport
dispatcher, messageContainers
 
Constructor Summary
DurableQueueMessageContainerManager(PersistenceAdapter persistenceAdapter, RedeliveryPolicy redeliveryPolicy, DeadLetterPolicy deadLetterPolicy)
           
DurableQueueMessageContainerManager(PersistenceAdapter persistenceAdapter, SubscriptionContainer subscriptionContainer, FilterFactory filterFactory, Dispatcher dispatcher)
           
 
Method Summary
 void acknowledgeMessage(BrokerClient client, MessageAck ack)
          Acknowledge a message as being read and consumed by the Consumer
 void addMessageConsumer(BrokerClient client, ConsumerInfo info)
           
protected  MessageContainer createContainer(String destinationName)
          Factory method to create a new MessageContainer
protected  Destination createDestination(String destinationName)
          Factory method to create a new Destination
protected  Filter createFilter(ConsumerInfo info)
          Create filter for a Consumer
 void createMessageContainer(ActiveMQDestination dest)
          Creates a destination.
 void deleteSubscription(String clientId, String subscriberName)
          Delete a durable subscriber
 void destroyMessageContainer(ActiveMQDestination dest)
          Destroys a destination.
 MessageContainer getContainer(String destinationName)
          Allows the lookup of a specific named message container
 Map getLocalDestinations()
          Returns an unmodifiable map, indexed by String name, of all the Destination objects used by non-broker consumers directly connected to this container
 void poll()
          Poll for messages
protected  void processSubscription(Subscription subscription, QueueMessageContainer container)
           
 void removeMessageConsumer(BrokerClient client, ConsumerInfo info)
           
 void sendMessage(BrokerClient client, ActiveMQMessage message)
           
 void sendToDeadLetterQueue(String deadLetterName, ActiveMQMessage message)
          Add a message to a dead letter queue
 
Methods inherited from class org.activemq.service.impl.MessageContainerManagerSupport
getDeadLetterPolicy, getDestinations, getMessageContainerAdmins, isMaintainDestinationStats, loadContainer, setDeadLetterPolicy, setMaintainDestinationStats, start, stop, updateAcknowledgeStats, updateSendStats
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.activemq.service.MessageContainerManager
getDeadLetterPolicy, getDestinations, getMessageContainerAdmins, setDeadLetterPolicy
 
Methods inherited from interface org.activemq.service.Service
start, stop
 

Field Detail

subscriptionContainer

protected SubscriptionContainer subscriptionContainer

filterFactory

protected FilterFactory filterFactory

activeSubscriptions

protected Map activeSubscriptions

browsers

protected Map browsers

messagePartSubscribers

protected Map messagePartSubscribers

destinationMap

protected DestinationMap destinationMap
Constructor Detail

DurableQueueMessageContainerManager

public DurableQueueMessageContainerManager(PersistenceAdapter persistenceAdapter,
                                           RedeliveryPolicy redeliveryPolicy,
                                           DeadLetterPolicy deadLetterPolicy)

DurableQueueMessageContainerManager

public DurableQueueMessageContainerManager(PersistenceAdapter persistenceAdapter,
                                           SubscriptionContainer subscriptionContainer,
                                           FilterFactory filterFactory,
                                           Dispatcher dispatcher)
Method Detail

getLocalDestinations

public Map getLocalDestinations()
Returns an unmodifiable map, indexed by String name, of all the Destination objects used by non-broker consumers directly connected to this container

Specified by:
getLocalDestinations in interface MessageContainerManager
Returns:

addMessageConsumer

public void addMessageConsumer(BrokerClient client,
                               ConsumerInfo info)
                        throws JMSException
Specified by:
addMessageConsumer in interface MessageContainerManager
Parameters:
client -
info -
Throws:
JMSException

removeMessageConsumer

public void removeMessageConsumer(BrokerClient client,
                                  ConsumerInfo info)
                           throws JMSException
Specified by:
removeMessageConsumer in interface MessageContainerManager
Parameters:
client -
info -
Throws:
JMSException

deleteSubscription

public void deleteSubscription(String clientId,
                               String subscriberName)
                        throws JMSException
Delete a durable subscriber

Specified by:
deleteSubscription in interface MessageContainerManager
Parameters:
clientId -
subscriberName -
Throws:
JMSException - if the subscriber doesn't exist or is still active

sendMessage

public void sendMessage(BrokerClient client,
                        ActiveMQMessage message)
                 throws JMSException
Specified by:
sendMessage in interface MessageContainerManager
Parameters:
client -
message -
Throws:
JMSException

acknowledgeMessage

public void acknowledgeMessage(BrokerClient client,
                               MessageAck ack)
                        throws JMSException
Acknowledge a message as being read and consumed by the Consumer

Specified by:
acknowledgeMessage in interface MessageContainerManager
Parameters:
client -
ack -
Throws:
JMSException

poll

public void poll()
          throws JMSException
Poll for messages

Specified by:
poll in interface MessageContainerManager
Throws:
JMSException

getContainer

public MessageContainer getContainer(String destinationName)
                              throws JMSException
Description copied from interface: MessageContainerManager
Allows the lookup of a specific named message container

Specified by:
getContainer in interface MessageContainerManager
Overrides:
getContainer in class MessageContainerManagerSupport
Returns:
the MessageContainer
Throws:
JMSException

createContainer

protected MessageContainer createContainer(String destinationName)
                                    throws JMSException
Description copied from class: MessageContainerManagerSupport
Factory method to create a new MessageContainer

Specified by:
createContainer in class MessageContainerManagerSupport
Throws:
JMSException

createDestination

protected Destination createDestination(String destinationName)
Description copied from class: MessageContainerManagerSupport
Factory method to create a new Destination

Specified by:
createDestination in class MessageContainerManagerSupport

processSubscription

protected void processSubscription(Subscription subscription,
                                   QueueMessageContainer container)
                            throws JMSException
Throws:
JMSException

createFilter

protected Filter createFilter(ConsumerInfo info)
                       throws JMSException
Create filter for a Consumer

Parameters:
info -
Returns:
the Fitler
Throws:
JMSException

createMessageContainer

public void createMessageContainer(ActiveMQDestination dest)
                            throws JMSException
Description copied from interface: MessageContainerManager
Creates a destination.

Specified by:
createMessageContainer in interface MessageContainerManager
Overrides:
createMessageContainer in class MessageContainerManagerSupport
Throws:
JMSException

destroyMessageContainer

public void destroyMessageContainer(ActiveMQDestination dest)
                             throws JMSException
Description copied from interface: MessageContainerManager
Destroys a destination.

Specified by:
destroyMessageContainer in interface MessageContainerManager
Overrides:
destroyMessageContainer in class MessageContainerManagerSupport
Throws:
JMSException

sendToDeadLetterQueue

public void sendToDeadLetterQueue(String deadLetterName,
                                  ActiveMQMessage message)
                           throws JMSException
Add a message to a dead letter queue

Specified by:
sendToDeadLetterQueue in interface QueueMessageContainerManager
Parameters:
deadLetterName -
message -
Throws:
JMSException


Copyright © 2004-2008 Protique, Ltd.. All Rights Reserved.