org.codehaus.activemq.store
Interface PersistenceAdapter

All Superinterfaces:
Service
All Known Implementing Classes:
PersistenceAdapterSupport

public interface PersistenceAdapter
extends Service

Adapter to the actual persistence mechanism used with ActiveMQ

Version:
$Revision: 1.3 $

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
 PreparedTransactionStore createPreparedTransactionStore()
          Factory method to create a new persistent prepared transaction store for XA recovery
 QueueMessageContainer createQueueMessageContainer(String destinationName)
          Factory method to create a new durable queue based message contaienr
 MessageStore createQueueMessageStore(String destinationName)
          Factory method to create a new queue message store with the given destination name
 TopicMessageContainer createTopicMessageContainer(String destinationName)
          Factory method to create a new durable topic based message container
 TopicMessageStore createTopicMessageStore(String destinationName)
          Factory method to create a new topic message store with the given destination name
 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.codehaus.activemq.service.Service
start, stop
 

Method Detail

getInitialDestinations

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

Returns:

createQueueMessageStore

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

Throws:
JMSException

createTopicMessageStore

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

Throws:
JMSException

createPreparedTransactionStore

public PreparedTransactionStore createPreparedTransactionStore()
                                                        throws JMSException
Factory method to create a new persistent prepared transaction store for XA recovery

Throws:
JMSException

createQueueMessageContainer

public QueueMessageContainer createQueueMessageContainer(String destinationName)
                                                  throws JMSException
Factory method to create a new durable queue based message contaienr

Throws:
JMSException

createTopicMessageContainer

public TopicMessageContainer createTopicMessageContainer(String destinationName)
                                                  throws JMSException
Factory method to create a new durable topic based message container

Throws:
JMSException

beginTransaction

public 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

public void commitTransaction()
                       throws JMSException
Commit a persistence transaction

Throws:
JMSException
See Also:
beginTransaction()

rollbackTransaction

public void rollbackTransaction()
Rollback a persistence transaction

See Also:
beginTransaction()


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