org.activemq.store
Interface PersistenceAdapter

All Superinterfaces:
Service
All Known Implementing Classes:
CachePersistenceAdapter, JDBCPersistenceAdapter, JournalPersistenceAdapter, MemoryBoundedCachePersistenceAdapter, SimpleCachePersistenceAdapter, VMPersistenceAdapter

public interface PersistenceAdapter
extends Service

Adapter to the actual persistence mechanism used with ActiveMQ

Version:
$Revision: 1.1.1.1 $

Method Summary
 void beginTransaction()
          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 optimisation.
 void commitTransaction()
          Commit a persistence transaction
 MessageStore createQueueMessageStore(String destinationName)
          Factory method to create a new queue message store with the given destination name
 TopicMessageStore createTopicMessageStore(String destinationName)
          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
 boolean deadLetterAlreadySent(long seq, boolean useDatabaseLocking)
          Verifies if a dead letter has already been sent for a message
 Map getInitialDestinations()
          Returns a map, indexed by String name, of all the Destination objects active on startup.
 void rollbackTransaction()
          Rollback a persistence transaction
 
Methods inherited from interface org.activemq.service.Service
start, stop
 

Method Detail

getInitialDestinations

Map getInitialDestinations()
Returns a map, indexed by String name, of all the Destination objects active on startup.

Returns:

createQueueMessageStore

MessageStore createQueueMessageStore(String destinationName)
                                     throws JMSException
Factory method to create a new queue message store with the given destination name

Throws:
JMSException

createTopicMessageStore

TopicMessageStore createTopicMessageStore(String destinationName)
                                          throws JMSException
Factory method to create a new topic message store with the given destination name

Throws:
JMSException

createTransactionStore

TransactionStore createTransactionStore()
                                        throws JMSException
Factory method to create a new persistent prepared transaction store for XA recovery

Throws:
JMSException

beginTransaction

void beginTransaction()
                      throws JMSException
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 optimisation.

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 minimise latency caused by disk synchronization. This is especially true when using tools like Berkeley Db or embedded JDBC servers.

Throws:
JMSException

commitTransaction

void commitTransaction()
                       throws JMSException
Commit a persistence transaction

Throws:
JMSException
See Also:
beginTransaction()

rollbackTransaction

void rollbackTransaction()
Rollback a persistence transaction

See Also:
beginTransaction()

deadLetterAlreadySent

boolean deadLetterAlreadySent(long seq,
                              boolean useDatabaseLocking)
Verifies if a dead letter has already been sent for a message

Parameters:
seq -
useDatabaseLocking - to prevent concurrency/dups
Returns:


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