Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.activemq.service.impl
Class DurableTopicMessageContainerManager  view DurableTopicMessageContainerManager download DurableTopicMessageContainerManager.java

java.lang.Object
  extended byorg.activemq.service.impl.MessageContainerManagerSupport
      extended byorg.activemq.service.impl.DurableTopicMessageContainerManager
All Implemented Interfaces:
org.activemq.service.MessageContainerManager, org.activemq.service.Service
Direct Known Subclasses:
TransientTopicMessageContainerManager

public class DurableTopicMessageContainerManager
extends MessageContainerManagerSupport

A default Broker used for Topic messages for durable consumers

Version:
$Revision: 1.1.1.1 $

Field Summary
protected  java.util.Map activeSubscriptions
           
private  org.activemq.filter.DestinationMap destinationMap
           
private  ConcurrentHashMap durableSubscriptions
           
protected  org.activemq.filter.FilterFactory filterFactory
           
private static org.apache.commons.logging.Log log
           
private  org.activemq.store.PersistenceAdapter persistenceAdapter
           
protected  org.activemq.service.SubscriptionContainer subscriptionContainer
           
 
Fields inherited from class org.activemq.service.impl.MessageContainerManagerSupport
dispatcher, messageContainers
 
Constructor Summary
DurableTopicMessageContainerManager(org.activemq.store.PersistenceAdapter persistenceAdapter, org.activemq.service.RedeliveryPolicy redeliveryPolicy, org.activemq.service.DeadLetterPolicy deadLetterPolicy)
           
DurableTopicMessageContainerManager(org.activemq.store.PersistenceAdapter persistenceAdapter, org.activemq.service.SubscriptionContainer subscriptionContainer, org.activemq.filter.FilterFactory filterFactory, org.activemq.service.Dispatcher dispatcher)
           
 
Method Summary
 void acknowledgeMessage(org.activemq.broker.BrokerClient client, org.activemq.message.MessageAck ack)
          Acknowledge a message as being read and consumed byh the Consumer
 void addMessageConsumer(org.activemq.broker.BrokerClient client, org.activemq.message.ConsumerInfo info)
           
protected  org.activemq.service.MessageContainer createContainer(java.lang.String destinationName)
          Factory method to create a new org.activemq.service.MessageContainer
protected  javax.jms.Destination createDestination(java.lang.String destinationName)
          Factory method to create a new javax.jms.Destination
protected  org.activemq.filter.Filter createFilter(org.activemq.message.ConsumerInfo info)
          Create filter for a Consumer
 void createMessageContainer(org.activemq.message.ActiveMQDestination dest)
          Creates a destination.
 void deleteSubscription(java.lang.String clientId, java.lang.String subscriberName)
          Delete a durable subscriber
 void destroyMessageContainer(org.activemq.message.ActiveMQDestination dest)
          Destroys a destination.
protected  void doAddMessageConsumer(org.activemq.broker.BrokerClient client, org.activemq.message.ConsumerInfo info)
           
private  void doSendMessage(org.activemq.broker.BrokerClient client, org.activemq.message.ActiveMQMessage message, org.activemq.service.MessageContainer container)
           
protected  boolean equal(java.lang.Object o1, java.lang.Object o2)
          Returns true if the two objects are null or are equal
 java.util.Map getLocalDestinations()
          Returns an unmodifiable map, indexed by String name, of all the javax.jms.Destination objects used by non-broker consumers directly connected to this container
 boolean isConsumerActiveOnDestination(org.activemq.message.ActiveMQDestination dest)
           
protected  void loadAllMessageContainers()
          Called when recovering a wildcard subscription where we need to load all the durable message containers (for which we have any outstanding messages to deliver) into RAM
 void poll()
          poll or messages
protected  void recoverSubscriptions(org.activemq.service.Subscription subscription)
          This method is called when a new durable subscription is started and so we need to go through each matching message container and dispatch any matching messages that may be outstanding
 void removeMessageConsumer(org.activemq.broker.BrokerClient client, org.activemq.message.ConsumerInfo info)
           
 void sendMessage(org.activemq.broker.BrokerClient client, org.activemq.message.ActiveMQMessage message)
           
 
Methods inherited from class org.activemq.service.impl.MessageContainerManagerSupport
getContainer, 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
 

Field Detail

log

private static final org.apache.commons.logging.Log log

persistenceAdapter

private org.activemq.store.PersistenceAdapter persistenceAdapter

subscriptionContainer

protected org.activemq.service.SubscriptionContainer subscriptionContainer

filterFactory

protected org.activemq.filter.FilterFactory filterFactory

activeSubscriptions

protected java.util.Map activeSubscriptions

destinationMap

private org.activemq.filter.DestinationMap destinationMap

durableSubscriptions

private ConcurrentHashMap durableSubscriptions
Constructor Detail

DurableTopicMessageContainerManager

public DurableTopicMessageContainerManager(org.activemq.store.PersistenceAdapter persistenceAdapter,
                                           org.activemq.service.RedeliveryPolicy redeliveryPolicy,
                                           org.activemq.service.DeadLetterPolicy deadLetterPolicy)

DurableTopicMessageContainerManager

public DurableTopicMessageContainerManager(org.activemq.store.PersistenceAdapter persistenceAdapter,
                                           org.activemq.service.SubscriptionContainer subscriptionContainer,
                                           org.activemq.filter.FilterFactory filterFactory,
                                           org.activemq.service.Dispatcher dispatcher)
Method Detail

addMessageConsumer

public void addMessageConsumer(org.activemq.broker.BrokerClient client,
                               org.activemq.message.ConsumerInfo info)
                        throws javax.jms.JMSException

removeMessageConsumer

public void removeMessageConsumer(org.activemq.broker.BrokerClient client,
                                  org.activemq.message.ConsumerInfo info)
                           throws javax.jms.JMSException

deleteSubscription

public void deleteSubscription(java.lang.String clientId,
                               java.lang.String subscriberName)
                        throws javax.jms.JMSException
Delete a durable subscriber


sendMessage

public void sendMessage(org.activemq.broker.BrokerClient client,
                        org.activemq.message.ActiveMQMessage message)
                 throws javax.jms.JMSException

doSendMessage

private void doSendMessage(org.activemq.broker.BrokerClient client,
                           org.activemq.message.ActiveMQMessage message,
                           org.activemq.service.MessageContainer container)
                    throws javax.jms.JMSException

getLocalDestinations

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


acknowledgeMessage

public void acknowledgeMessage(org.activemq.broker.BrokerClient client,
                               org.activemq.message.MessageAck ack)
                        throws javax.jms.JMSException
Acknowledge a message as being read and consumed byh the Consumer


poll

public void poll()
          throws javax.jms.JMSException
poll or messages


createContainer

protected org.activemq.service.MessageContainer createContainer(java.lang.String destinationName)
                                                         throws javax.jms.JMSException
Description copied from class: MessageContainerManagerSupport
Factory method to create a new org.activemq.service.MessageContainer

Specified by:
createContainer in class MessageContainerManagerSupport

createDestination

protected javax.jms.Destination createDestination(java.lang.String destinationName)
Description copied from class: MessageContainerManagerSupport
Factory method to create a new javax.jms.Destination

Specified by:
createDestination in class MessageContainerManagerSupport

isConsumerActiveOnDestination

public boolean isConsumerActiveOnDestination(org.activemq.message.ActiveMQDestination dest)

doAddMessageConsumer

protected void doAddMessageConsumer(org.activemq.broker.BrokerClient client,
                                    org.activemq.message.ConsumerInfo info)
                             throws javax.jms.JMSException

equal

protected final boolean equal(java.lang.Object o1,
                              java.lang.Object o2)
Returns true if the two objects are null or are equal


recoverSubscriptions

protected void recoverSubscriptions(org.activemq.service.Subscription subscription)
                             throws javax.jms.JMSException
This method is called when a new durable subscription is started and so we need to go through each matching message container and dispatch any matching messages that may be outstanding


loadAllMessageContainers

protected void loadAllMessageContainers()
                                 throws javax.jms.JMSException
Called when recovering a wildcard subscription where we need to load all the durable message containers (for which we have any outstanding messages to deliver) into RAM


createFilter

protected org.activemq.filter.Filter createFilter(org.activemq.message.ConsumerInfo info)
                                           throws javax.jms.JMSException
Create filter for a Consumer


createMessageContainer

public void createMessageContainer(org.activemq.message.ActiveMQDestination dest)
                            throws javax.jms.JMSException
Description copied from interface: org.activemq.service.MessageContainerManager
Creates a destination.

Specified by:
createMessageContainer in interface org.activemq.service.MessageContainerManager
Overrides:
createMessageContainer in class MessageContainerManagerSupport

destroyMessageContainer

public void destroyMessageContainer(org.activemq.message.ActiveMQDestination dest)
                             throws javax.jms.JMSException
Description copied from interface: org.activemq.service.MessageContainerManager
Destroys a destination.

Specified by:
destroyMessageContainer in interface org.activemq.service.MessageContainerManager
Overrides:
destroyMessageContainer in class MessageContainerManagerSupport