Uses of Interface
org.apache.activemq.broker.region.MessageReference

Packages that use MessageReference
org.apache.activemq The core JMS client API implementation classes. 
org.apache.activemq.advisory Support for JMS Advisory messages as well as some helper listeners to listen to the clients, producers and consumers available. 
org.apache.activemq.broker The core classes for the ActiveMQ Message Broker and its connectors. 
org.apache.activemq.broker.region Region abstraction and implementations in the Broker. 
org.apache.activemq.broker.region.cursors Cursors used to page persistent messages into the broker from the store 
org.apache.activemq.broker.region.policy The policies which can be associated with a particular destination or wildcard. 
org.apache.activemq.broker.util Some utility Broker Plugins 
org.apache.activemq.command Command objects used via the Command Pattern to communicate among nodes 
org.apache.activemq.filter Filter implementations for wildcards & JMS selectors 
org.apache.activemq.memory.buffer   
org.apache.activemq.memory.list   
org.apache.activemq.plugin   
 

Uses of MessageReference in org.apache.activemq
 

Methods in org.apache.activemq with parameters of type MessageReference
 boolean ActiveMQMessageAuditNoSync.isDuplicate(MessageReference message)
          Checks if this message has been seen before
 boolean ActiveMQMessageAuditNoSync.isInOrder(MessageReference message)
          Check the MessageId is in order
 void ActiveMQMessageAuditNoSync.rollback(MessageReference message)
          mark this message as being received
 

Uses of MessageReference in org.apache.activemq.advisory
 

Methods in org.apache.activemq.advisory with parameters of type MessageReference
 void AdvisoryBroker.messageConsumed(ConnectionContext context, MessageReference messageReference)
           
 void AdvisoryBroker.messageDelivered(ConnectionContext context, MessageReference messageReference)
           
 void AdvisoryBroker.messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)
           
 void AdvisoryBroker.messageExpired(ConnectionContext context, MessageReference messageReference, Subscription subscription)
           
 void AdvisoryBroker.sendToDeadLetterQueue(ConnectionContext context, MessageReference messageReference, Subscription subscription)
           
 

Uses of MessageReference in org.apache.activemq.broker
 

Methods in org.apache.activemq.broker with parameters of type MessageReference
 boolean ConnectionContext.isAllowedToConsume(MessageReference n)
           
 boolean MutableBrokerFilter.isExpired(MessageReference messageReference)
           
 boolean ErrorBroker.isExpired(MessageReference messageReference)
           
 boolean EmptyBroker.isExpired(MessageReference messageReference)
           
 boolean BrokerFilter.isExpired(MessageReference messageReference)
           
 boolean Broker.isExpired(MessageReference messageReference)
          Determine if a message has expired -allows default behaviour to be overriden - as the timestamp set by the producer can be out of sync with the broker
 void MutableBrokerFilter.messageConsumed(ConnectionContext context, MessageReference messageReference)
           
 void ErrorBroker.messageConsumed(ConnectionContext context, MessageReference messageReference)
           
 void EmptyBroker.messageConsumed(ConnectionContext context, MessageReference messageReference)
           
 void BrokerFilter.messageConsumed(ConnectionContext context, MessageReference messageReference)
           
 void Broker.messageConsumed(ConnectionContext context, MessageReference messageReference)
          called when message is consumed
 void MutableBrokerFilter.messageDelivered(ConnectionContext context, MessageReference messageReference)
           
 void ErrorBroker.messageDelivered(ConnectionContext context, MessageReference messageReference)
           
 void EmptyBroker.messageDelivered(ConnectionContext context, MessageReference messageReference)
           
 void BrokerFilter.messageDelivered(ConnectionContext context, MessageReference messageReference)
           
 void Broker.messageDelivered(ConnectionContext context, MessageReference messageReference)
          Called when message is delivered to the broker
 void MutableBrokerFilter.messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)
           
 void ErrorBroker.messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)
           
 void EmptyBroker.messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)
           
 void BrokerFilter.messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)
           
 void Broker.messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)
          Called when a message is discarded - e.g.
 void MutableBrokerFilter.messageExpired(ConnectionContext context, MessageReference message, Subscription subscription)
           
 void ErrorBroker.messageExpired(ConnectionContext context, MessageReference message, Subscription subscription)
           
 void EmptyBroker.messageExpired(ConnectionContext context, MessageReference message, Subscription subscription)
           
 void BrokerFilter.messageExpired(ConnectionContext context, MessageReference message, Subscription subscription)
           
 void Broker.messageExpired(ConnectionContext context, MessageReference messageReference, Subscription subscription)
          A Message has Expired
 void MutableBrokerFilter.sendToDeadLetterQueue(ConnectionContext context, MessageReference messageReference, Subscription subscription)
           
 void ErrorBroker.sendToDeadLetterQueue(ConnectionContext context, MessageReference messageReference, Subscription subscription)
           
 void EmptyBroker.sendToDeadLetterQueue(ConnectionContext context, MessageReference messageReference, Subscription subscription)
           
 void BrokerFilter.sendToDeadLetterQueue(ConnectionContext context, MessageReference messageReference, Subscription subscription)
           
 void Broker.sendToDeadLetterQueue(ConnectionContext context, MessageReference messageReference, Subscription subscription)
          A message needs to go the a DLQ
 

Uses of MessageReference in org.apache.activemq.broker.region
 

Subinterfaces of MessageReference in org.apache.activemq.broker.region
 interface QueueMessageReference
          Queue specific MessageReference.
 

Classes in org.apache.activemq.broker.region that implement MessageReference
 class IndirectMessageReference
          Keeps track of a message that is flowing through the Broker.
 

Fields in org.apache.activemq.broker.region with type parameters of type MessageReference
protected  List<MessageReference> PrefetchSubscription.dispatched
           
 

Methods in org.apache.activemq.broker.region that return types with arguments of type MessageReference
 List<MessageReference> Subscription.remove(ConnectionContext context, Destination destination)
          The subscription will be no longer be receiving messages from the destination.
 List<MessageReference> QueueBrowserSubscription.remove(ConnectionContext context, Destination destination)
           
 List<MessageReference> PrefetchSubscription.remove(ConnectionContext context, Destination destination)
           
 List<MessageReference> AbstractSubscription.remove(ConnectionContext context, Destination destination)
           
 

Methods in org.apache.activemq.broker.region with parameters of type MessageReference
protected  void QueueSubscription.acknowledge(ConnectionContext context, MessageAck ack, MessageReference n)
          In the queue case, mark the node as dropped and then a gc cycle will remove it from the queue.
protected  void QueueBrowserSubscription.acknowledge(ConnectionContext context, MessageAck ack, MessageReference n)
          Since we are a browser we don't really remove the message from the queue.
protected abstract  void PrefetchSubscription.acknowledge(ConnectionContext context, MessageAck ack, MessageReference node)
          Used during acknowledgment to remove the message.
protected  void DurableTopicSubscription.acknowledge(ConnectionContext context, MessageAck ack, MessageReference node)
           
 void Topic.acknowledge(ConnectionContext context, Subscription sub, MessageAck ack, MessageReference node)
           
 void Queue.acknowledge(ConnectionContext context, Subscription sub, MessageAck ack, MessageReference node)
           
 void DestinationFilter.acknowledge(ConnectionContext context, Subscription sub, MessageAck ack, MessageReference node)
           
 void Destination.acknowledge(ConnectionContext context, Subscription sub, MessageAck ack, MessageReference node)
           
 void TopicSubscription.add(MessageReference node)
           
 void Subscription.add(MessageReference node)
          Used to add messages that match the subscription.
 void PrefetchSubscription.add(MessageReference node)
           
 void DurableTopicSubscription.add(MessageReference node)
           
 boolean SubscriptionRecovery.addRecoveredMessage(ConnectionContext context, MessageReference message)
          Add a message to the SubscriptionRecovery
 boolean AbstractSubscription.addRecoveredMessage(ConnectionContext context, MessageReference message)
           
protected  void Queue.assignGroup(Subscription subs, MessageGroupMap messageGroupOwners, MessageReference n, String groupId)
           
protected  void QueueSubscription.assignGroupToMe(MessageGroupMap messageGroupOwners, MessageReference n, String groupId)
          Assigns the message group to this subscription and set the flag on the message that it is the first message to be dispatched.
protected  boolean QueueSubscription.canDispatch(MessageReference n)
           
protected  boolean QueueBrowserSubscription.canDispatch(MessageReference node)
           
protected abstract  boolean PrefetchSubscription.canDispatch(MessageReference node)
          Use when a matched message is about to be dispatched to the client.
protected  boolean DurableTopicSubscription.canDispatch(MessageReference node)
           
 boolean QueueDispatchSelector.canSelect(Subscription subscription, MessageReference m)
           
protected  MessageAck BaseDestination.convertToNonRangedAck(MessageAck ack, MessageReference node)
           
protected  MessageDispatch PrefetchSubscription.createMessageDispatch(MessageReference node, Message message)
           
protected  MessageDispatch DurableTopicSubscription.createMessageDispatch(MessageReference node, Message message)
           
protected  boolean PrefetchSubscription.dispatch(MessageReference node)
           
protected  void DurableTopicSubscription.doAddRecoveredMessage(MessageReference message)
           
protected  void AbstractSubscription.doAddRecoveredMessage(MessageReference message)
           
 boolean MessageReferenceFilter.evaluate(ConnectionContext context, MessageReference messageReference)
           
protected  boolean QueueSubscription.isDropped(MessageReference node)
           
protected abstract  boolean PrefetchSubscription.isDropped(MessageReference node)
           
protected  boolean DurableTopicSubscription.isDropped(MessageReference node)
           
 boolean RegionBroker.isExpired(MessageReference messageReference)
           
 boolean Topic.lock(MessageReference node, LockOwner sub)
           
 boolean Subscription.matches(MessageReference node, MessageEvaluationContext context)
          Is the subscription interested in the message?
 boolean QueueBrowserSubscription.matches(MessageReference node, MessageEvaluationContext context)
           
 boolean AbstractSubscription.matches(MessageReference node, MessageEvaluationContext context)
           
 void DestinationFilter.messageConsumed(ConnectionContext context, MessageReference messageReference)
           
 void Destination.messageConsumed(ConnectionContext context, MessageReference messageReference)
          called when message is consumed
 void BaseDestination.messageConsumed(ConnectionContext context, MessageReference messageReference)
          called when message is consumed
 void DestinationFilter.messageDelivered(ConnectionContext context, MessageReference messageReference)
           
 void Destination.messageDelivered(ConnectionContext context, MessageReference messageReference)
          Called when message is delivered to the broker
 void BaseDestination.messageDelivered(ConnectionContext context, MessageReference messageReference)
          Called when message is delivered to the broker
 void DestinationFilter.messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)
           
 void Destination.messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)
          Called when a message is discarded - e.g.
 void BaseDestination.messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)
          Called when a message is discarded - e.g.
 void Queue.messageExpired(ConnectionContext context, MessageReference reference)
           
 void RegionBroker.messageExpired(ConnectionContext context, MessageReference node, Subscription subscription)
           
 void DestinationFilter.messageExpired(ConnectionContext context, PrefetchSubscription prefetchSubscription, MessageReference node)
           
 void Topic.messageExpired(ConnectionContext context, Subscription subs, MessageReference reference)
           
 void Queue.messageExpired(ConnectionContext context, Subscription subs, MessageReference reference)
           
 void DestinationFilter.messageExpired(ConnectionContext context, Subscription subs, MessageReference node)
           
 void Destination.messageExpired(ConnectionContext context, Subscription subs, MessageReference node)
          Inform the Destination a message has expired
protected  void PrefetchSubscription.onDispatch(MessageReference node, Message message)
           
 void DurableTopicSubscription.removePending(MessageReference node)
           
 void RegionBroker.sendToDeadLetterQueue(ConnectionContext context, MessageReference node, Subscription subscription)
           
protected  void PrefetchSubscription.sendToDLQ(ConnectionContext context, MessageReference node)
           
 void Subscription.unmatched(MessageReference node)
           
 void DurableTopicSubscription.unmatched(MessageReference node)
          store will have a pending ack for all durables, irrespective of the selector so we need to ack if node is un-matched
 void AbstractSubscription.unmatched(MessageReference node)
           
 

Uses of MessageReference in org.apache.activemq.broker.region.cursors
 

Fields in org.apache.activemq.broker.region.cursors declared as MessageReference
protected  MessageReference AbstractPendingMessageCursor.last
           
 

Methods in org.apache.activemq.broker.region.cursors that return MessageReference
 MessageReference VMPendingMessageCursor.next()
           
 MessageReference StoreQueueCursor.next()
           
 MessageReference StoreDurableSubscriberCursor.next()
           
 MessageReference PendingMessageCursor.next()
           
 MessageReference FilePendingMessageCursor.next()
           
 MessageReference AbstractStoreCursor.next()
           
 MessageReference AbstractPendingMessageCursor.next()
           
 

Methods in org.apache.activemq.broker.region.cursors that return types with arguments of type MessageReference
 Iterator<MessageReference> PrioritizedPendingList.iterator()
           
 Iterator<MessageReference> PendingList.iterator()
          Returns an iterator over the pending Messages.
 Iterator<MessageReference> OrderedPendingList.iterator()
           
 LinkedList<MessageReference> VMPendingMessageCursor.pageInList(int maxItems)
          Page in a restricted number of messages
 LinkedList<MessageReference> PendingMessageCursor.pageInList(int maxItems)
          Page in a restricted number of messages and increment the reference count
 LinkedList<MessageReference> FilePendingMessageCursor.pageInList(int maxItems)
           
 LinkedList<MessageReference> AbstractPendingMessageCursor.pageInList(int maxItems)
          Page in a restricted number of messages
 List<MessageReference> VMPendingMessageCursor.remove(ConnectionContext context, Destination destination)
           
 List<MessageReference> StoreDurableSubscriberCursor.remove(ConnectionContext context, Destination destination)
          remove a destination
 List<MessageReference> PendingMessageCursor.remove(ConnectionContext context, Destination destination)
          remove a destination
 List<MessageReference> AbstractPendingMessageCursor.remove(ConnectionContext context, Destination destination)
           
 Collection<MessageReference> PrioritizedPendingList.values()
           
 Collection<MessageReference> PendingList.values()
          Returns a new Collection that contains all the MessageReferences currently held in this PendingList.
 Collection<MessageReference> OrderedPendingList.values()
           
 

Methods in org.apache.activemq.broker.region.cursors with parameters of type MessageReference
 void VMPendingMessageCursor.addMessageFirst(MessageReference node)
          add message to await dispatch
 void StoreQueueCursor.addMessageFirst(MessageReference node)
           
 void StoreDurableSubscriberCursor.addMessageFirst(MessageReference node)
           
 PendingNode PrioritizedPendingList.addMessageFirst(MessageReference message)
           
 void PendingMessageCursor.addMessageFirst(MessageReference node)
          add message to await dispatch
 PendingNode PendingList.addMessageFirst(MessageReference message)
          Adds the given message to the head of the list.
 PendingNode OrderedPendingList.addMessageFirst(MessageReference message)
           
 void FilePendingMessageCursor.addMessageFirst(MessageReference node)
          add message to await dispatch
 void AbstractStoreCursor.addMessageFirst(MessageReference node)
           
 void AbstractPendingMessageCursor.addMessageFirst(MessageReference node)
           
 void VMPendingMessageCursor.addMessageLast(MessageReference node)
          add message to await dispatch
 void StoreQueueCursor.addMessageLast(MessageReference node)
           
 void StoreDurableSubscriberCursor.addMessageLast(MessageReference node)
           
 PendingNode PrioritizedPendingList.addMessageLast(MessageReference message)
           
 void PendingMessageCursor.addMessageLast(MessageReference node)
          add message to await dispatch
 PendingNode PendingList.addMessageLast(MessageReference message)
          Adds the given message to the tail of the list.
 PendingNode OrderedPendingList.addMessageLast(MessageReference message)
           
 void FilePendingMessageCursor.addMessageLast(MessageReference node)
          add message to await dispatch
 void AbstractStoreCursor.addMessageLast(MessageReference node)
           
 void AbstractPendingMessageCursor.addMessageLast(MessageReference node)
           
 void StoreDurableSubscriberCursor.addRecoveredMessage(MessageReference node)
           
 void PendingMessageCursor.addRecoveredMessage(MessageReference node)
          Add a message recovered from a retroactive policy
 void AbstractPendingMessageCursor.addRecoveredMessage(MessageReference node)
           
 boolean PrioritizedPendingList.contains(MessageReference message)
           
 boolean PendingList.contains(MessageReference message)
          Query the PendingList to determine if the given message is contained within.
 boolean OrderedPendingList.contains(MessageReference message)
           
protected  OrderedPendingList PrioritizedPendingList.getList(MessageReference msg)
           
protected  int PrioritizedPendingList.getPriority(MessageReference message)
           
 void VMPendingMessageCursor.remove(MessageReference node)
           
 void StoreQueueCursor.remove(MessageReference node)
           
 void StoreDurableSubscriberCursor.remove(MessageReference node)
           
 PendingNode PrioritizedPendingList.remove(MessageReference message)
           
 void PendingMessageCursor.remove(MessageReference node)
          remove a node
 PendingNode PendingList.remove(MessageReference message)
          Removes the given MessageReference from the PendingList if it is contained within.
 PendingNode OrderedPendingList.remove(MessageReference message)
           
 void FilePendingMessageCursor.remove(MessageReference node)
           
 void AbstractStoreCursor.remove(MessageReference node)
           
 void AbstractPendingMessageCursor.remove(MessageReference node)
           
 boolean PendingMessageCursor.tryAddMessageLast(MessageReference node, long maxWaitTime)
          add message to await dispatch - if it can
 boolean FilePendingMessageCursor.tryAddMessageLast(MessageReference node, long maxWaitTime)
           
 boolean AbstractPendingMessageCursor.tryAddMessageLast(MessageReference node, long maxWaitTime)
           
 

Constructors in org.apache.activemq.broker.region.cursors with parameters of type MessageReference
PendingNode(OrderedPendingList list, MessageReference message)
           
 

Uses of MessageReference in org.apache.activemq.broker.region.policy
 

Methods in org.apache.activemq.broker.region.policy that return MessageReference
 MessageReference[] UniquePropertyMessageEvictionStrategy.evictMessages(LinkedList messages)
           
 MessageReference[] OldestMessageWithLowestPriorityEvictionStrategy.evictMessages(LinkedList messages)
           
 MessageReference[] OldestMessageEvictionStrategy.evictMessages(LinkedList messages)
           
 MessageReference[] MessageEvictionStrategy.evictMessages(LinkedList messages)
          Find the message reference in the given list with oldest messages at the front and newer messages at the end
 

Methods in org.apache.activemq.broker.region.policy with parameters of type MessageReference
 boolean TimedSubscriptionRecoveryPolicy.add(ConnectionContext context, MessageReference message)
           
 boolean SubscriptionRecoveryPolicy.add(ConnectionContext context, MessageReference message)
          A message was sent to the destination.
 boolean QueryBasedSubscriptionRecoveryPolicy.add(ConnectionContext context, MessageReference message)
           
 boolean NoSubscriptionRecoveryPolicy.add(ConnectionContext context, MessageReference node)
           
 boolean LastImageSubscriptionRecoveryPolicy.add(ConnectionContext context, MessageReference node)
           
 boolean FixedSizedSubscriptionRecoveryPolicy.add(ConnectionContext context, MessageReference message)
           
 boolean FixedCountSubscriptionRecoveryPolicy.add(ConnectionContext context, MessageReference node)
           
 boolean SimpleDispatchSelector.canDispatch(Subscription subscription, MessageReference node)
           
 boolean DispatchSelector.canDispatch(Subscription subscription, MessageReference node)
          return true if a subscription can dispatch a message reference
 boolean StrictOrderDispatchPolicy.dispatch(MessageReference node, MessageEvaluationContext msgContext, List consumers)
           
 boolean SimpleDispatchPolicy.dispatch(MessageReference node, MessageEvaluationContext msgContext, List<Subscription> consumers)
           
 boolean RoundRobinDispatchPolicy.dispatch(MessageReference node, MessageEvaluationContext msgContext, List<Subscription> consumers)
           
 boolean PriorityNetworkDispatchPolicy.dispatch(MessageReference node, MessageEvaluationContext msgContext, List<Subscription> consumers)
           
 boolean DispatchPolicy.dispatch(MessageReference node, MessageEvaluationContext msgContext, List<Subscription> consumers)
          Decides how to dispatch a selected message to a collection of consumers.
 

Uses of MessageReference in org.apache.activemq.broker.util
 

Methods in org.apache.activemq.broker.util with parameters of type MessageReference
 void LoggingBrokerPlugin.messageConsumed(ConnectionContext context, MessageReference messageReference)
           
 void LoggingBrokerPlugin.messageDelivered(ConnectionContext context, MessageReference messageReference)
           
 void LoggingBrokerPlugin.messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)
           
 void LoggingBrokerPlugin.messageExpired(ConnectionContext context, MessageReference message, Subscription subscription)
           
 void RedeliveryPlugin.sendToDeadLetterQueue(ConnectionContext context, MessageReference messageReference, Subscription subscription)
           
 void LoggingBrokerPlugin.sendToDeadLetterQueue(ConnectionContext context, MessageReference messageReference, Subscription subscription)
           
 

Uses of MessageReference in org.apache.activemq.command
 

Classes in org.apache.activemq.command that implement MessageReference
 class ActiveMQBlobMessage
          An implementation of BlobMessage for out of band BLOB transfer
 class ActiveMQBytesMessage
          A BytesMessage object is used to send a message containing a stream of uninterpreted bytes.
 class ActiveMQMapMessage
          A MapMessage object is used to send a set of name-value pairs.
 class ActiveMQMessage
           
 class ActiveMQObjectMessage
          An ObjectMessage object is used to send a message that contains a serializable object in the Java programming language ("Java object").
 class ActiveMQStreamMessage
          A StreamMessage object is used to send a stream of primitive types in the Java programming language.
 class ActiveMQTextMessage
           
 class Message
          Represents an ActiveMQ message
 

Uses of MessageReference in org.apache.activemq.filter
 

Fields in org.apache.activemq.filter declared as MessageReference
protected  MessageReference MessageEvaluationContext.messageReference
           
 

Methods in org.apache.activemq.filter that return MessageReference
 MessageReference MessageEvaluationContext.getMessageReference()
           
 

Methods in org.apache.activemq.filter with parameters of type MessageReference
 void NonCachedMessageEvaluationContext.setMessageReference(MessageReference messageReference)
           
 void MessageEvaluationContext.setMessageReference(MessageReference messageReference)
           
 

Uses of MessageReference in org.apache.activemq.memory.buffer
 

Methods in org.apache.activemq.memory.buffer that return types with arguments of type MessageReference
 List<MessageReference> MessageQueue.getList()
          Returns a copy of the list
 

Methods in org.apache.activemq.memory.buffer with parameters of type MessageReference
 void MessageQueue.add(MessageReference messageRef)
           
 

Method parameters in org.apache.activemq.memory.buffer with type arguments of type MessageReference
 void MessageQueue.appendMessages(List<MessageReference> answer)
           
 

Uses of MessageReference in org.apache.activemq.memory.list
 

Methods in org.apache.activemq.memory.list that return types with arguments of type MessageReference
 List<MessageReference> SimpleMessageList.getList()
          Returns a copy of the list
 List<MessageReference> SimpleMessageList.getMessages(ActiveMQDestination destination)
           
 List<MessageReference> DestinationBasedMessageList.getMessages(ActiveMQDestination destination)
           
 List<MessageReference> DestinationBasedMessageList.getMessages(Subscription sub)
           
 

Methods in org.apache.activemq.memory.list with parameters of type MessageReference
 void SimpleMessageList.add(MessageReference node)
           
 void MessageList.add(MessageReference node)
           
 void DestinationBasedMessageList.add(MessageReference node)
           
 

Uses of MessageReference in org.apache.activemq.plugin
 

Methods in org.apache.activemq.plugin with parameters of type MessageReference
 void DiscardingDLQBroker.sendToDeadLetterQueue(ConnectionContext ctx, MessageReference msgRef, Subscription subscription)
           
 



Copyright © 2005-2012 The Apache Software Foundation. All Rights Reserved.