org.apache.activemq.store.memory
Class MemoryPersistenceAdapter

java.lang.Object
  extended by org.apache.activemq.store.memory.MemoryPersistenceAdapter
All Implemented Interfaces:
Service, PersistenceAdapter

public class MemoryPersistenceAdapter
extends Object
implements PersistenceAdapter

Version:
$Revision: 1.4 $

Constructor Summary
MemoryPersistenceAdapter()
           
 
Method Summary
protected  MemoryMessageStore asMemoryMessageStore(Object value)
           
 void beginTransaction(ConnectionContext context)
          This method starts a transaction on the persistent storage - which is nothing to do with JMS or XA transactions - its purely a mechanism to perform multiple writes to a persistent store in 1 transaction as a performance optimization.
 void commitTransaction(ConnectionContext context)
          Commit a persistence transaction
 MessageStore createQueueMessageStore(ActiveMQQueue destination)
          Factory method to create a new queue message store with the given destination name
 TopicMessageStore createTopicMessageStore(ActiveMQTopic destination)
          Factory method to create a new topic message store with the given destination name
 TransactionStore createTransactionStore()
          Factory method to create a new persistent prepared transaction store for XA recovery
 void deleteAllMessages()
          Delete's all the messages in the persistent store.
 Set getDestinations()
          Returns a set of all the ActiveMQDestination objects that the persistence store is aware exist.
 long getLastMessageBrokerSequenceId()
           
 boolean isUseExternalMessageReferences()
           
static MemoryPersistenceAdapter newInstance(File file)
           
 void rollbackTransaction(ConnectionContext context)
          Rollback a persistence transaction
 void setUsageManager(UsageManager usageManager)
           
 void setUseExternalMessageReferences(boolean useExternalMessageReferences)
           
 void start()
           
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MemoryPersistenceAdapter

public MemoryPersistenceAdapter()
Method Detail

getDestinations

public Set getDestinations()
Description copied from interface: PersistenceAdapter
Returns a set of all the ActiveMQDestination objects that the persistence store is aware exist.

Specified by:
getDestinations in interface PersistenceAdapter
Returns:

newInstance

public static MemoryPersistenceAdapter newInstance(File file)

createQueueMessageStore

public MessageStore createQueueMessageStore(ActiveMQQueue destination)
                                     throws IOException
Description copied from interface: PersistenceAdapter
Factory method to create a new queue message store with the given destination name

Specified by:
createQueueMessageStore in interface PersistenceAdapter
Throws:
IOException

createTopicMessageStore

public TopicMessageStore createTopicMessageStore(ActiveMQTopic destination)
                                          throws IOException
Description copied from interface: PersistenceAdapter
Factory method to create a new topic message store with the given destination name

Specified by:
createTopicMessageStore in interface PersistenceAdapter
Throws:
IOException

createTransactionStore

public TransactionStore createTransactionStore()
                                        throws IOException
Description copied from interface: PersistenceAdapter
Factory method to create a new persistent prepared transaction store for XA recovery

Specified by:
createTransactionStore in interface PersistenceAdapter
Throws:
IOException

beginTransaction

public void beginTransaction(ConnectionContext context)
Description copied from interface: PersistenceAdapter
This method starts a transaction on the persistent storage - which is nothing to do with JMS or XA transactions - its purely a mechanism to perform multiple writes to a persistent store in 1 transaction as a performance optimization.

Typically one transaction will require one disk synchronization point and so for real high performance its usually faster to perform many writes within the same transaction to minimize latency caused by disk synchronization. This is especially true when using tools like Berkeley Db or embedded JDBC servers.

Specified by:
beginTransaction in interface PersistenceAdapter

commitTransaction

public void commitTransaction(ConnectionContext context)
Description copied from interface: PersistenceAdapter
Commit a persistence transaction

Specified by:
commitTransaction in interface PersistenceAdapter
See Also:
PersistenceAdapter#beginTransaction()

rollbackTransaction

public void rollbackTransaction(ConnectionContext context)
Description copied from interface: PersistenceAdapter
Rollback a persistence transaction

Specified by:
rollbackTransaction in interface PersistenceAdapter
See Also:
PersistenceAdapter#beginTransaction()

start

public void start()
           throws Exception
Specified by:
start in interface Service
Throws:
Exception

stop

public void stop()
          throws Exception
Specified by:
stop in interface Service
Throws:
Exception

getLastMessageBrokerSequenceId

public long getLastMessageBrokerSequenceId()
                                    throws IOException
Specified by:
getLastMessageBrokerSequenceId in interface PersistenceAdapter
Returns:
Throws:
IOException

deleteAllMessages

public void deleteAllMessages()
                       throws IOException
Description copied from interface: PersistenceAdapter
Delete's all the messages in the persistent store.

Specified by:
deleteAllMessages in interface PersistenceAdapter
Throws:
IOException

isUseExternalMessageReferences

public boolean isUseExternalMessageReferences()
Specified by:
isUseExternalMessageReferences in interface PersistenceAdapter

setUseExternalMessageReferences

public void setUseExternalMessageReferences(boolean useExternalMessageReferences)
Specified by:
setUseExternalMessageReferences in interface PersistenceAdapter

asMemoryMessageStore

protected MemoryMessageStore asMemoryMessageStore(Object value)

setUsageManager

public void setUsageManager(UsageManager usageManager)
Specified by:
setUsageManager in interface PersistenceAdapter
Parameters:
usageManager - The UsageManager that is controlling the broker's memory usage.


Copyright © 2011 Apache Software Foundation. All Rights Reserved.