Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.codehaus.activemq.store.cache
Class CachePersistenceAdapter

    java.lang.Object
      org.codehaus.activemq.service.impl.PersistenceAdapterSupport
          org.codehaus.activemq.store.cache.CachePersistenceAdapter

All Implemented Interfaces:
  PersistenceAdapter, Service

Direct Known Subclasses:
  SimpleCachePersistenceAdapter

public abstract class CachePersistenceAdapter
extends PersistenceAdapterSupport

Implements a `PersistenceAdapter` designed to to speed up access to recently added messages by using a MessageCache .

Version:
  $Revision: 1.2 $

Constructor Summary
`CachePersistenceAdapter()`
`CachePersistenceAdapter(PersistenceAdapter longTermPersistence)`

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
`protected abstract MessageCache` | `createMessageCache(String destinationName)` Subclasses should override this method to change the type of MessageCache that is used to cache messages.
`PreparedTransactionStore` | `createPreparedTransactionStore()` Factory method to create a new persistent prepared transaction store for XA recovery
`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
`Map` | `getInitialDestinations()` Returns a map, indexed by String name, of all the `Destination` objects active on startup.
`PersistenceAdapter` | `getLongTermPersistence()`
`void` | `rollbackTransaction()` Rollback a persistence transaction
`void` | `setLongTermPersistence(PersistenceAdapter longTermPersistence)`
`void` | `start()` Called to start the service
`void` | `stop()` Called to shutdown the service

Methods inherited from class org.codehaus.activemq.service.impl.PersistenceAdapterSupport
`createQueueMessageContainer, createTopicMessageContainer`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CachePersistenceAdapter

    public CachePersistenceAdapter()

### CachePersistenceAdapter

    public CachePersistenceAdapter(PersistenceAdapter longTermPersistence)
                            throws IOException

Method Detail

### getInitialDestinations

    public Map getInitialDestinations()

  Description copied from interface: `PersistenceAdapter`
  Returns a map, indexed by String name, of all the `Destination` objects active on startup.

  Returns:

### createQueueMessageStore

    public MessageStore createQueueMessageStore(String destinationName)
                                         throws JMSException

  Description copied from interface: `PersistenceAdapter`
  Factory method to create a new queue message store with the given destination name

  Throws:
    `JMSException`

### createTopicMessageStore

    public TopicMessageStore createTopicMessageStore(String destinationName)
                                              throws JMSException

  Description copied from interface: `PersistenceAdapter`
  Factory method to create a new topic message store with the given destination name

  Throws:
    `JMSException`

### createPreparedTransactionStore

    public PreparedTransactionStore createPreparedTransactionStore()
                                                            throws JMSException

  Description copied from interface: `PersistenceAdapter`
  Factory method to create a new persistent prepared transaction store for XA recovery

  Throws:
    `JMSException`

### beginTransaction

    public void beginTransaction()
                          throws JMSException

  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 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

  Description copied from interface: `PersistenceAdapter`
  Commit a persistence transaction

  Throws:
    `JMSException`
  See Also:
    `PersistenceAdapter.beginTransaction()`

### rollbackTransaction

    public void rollbackTransaction()

  Description copied from interface: `PersistenceAdapter`
  Rollback a persistence transaction

  See Also:
    `PersistenceAdapter.beginTransaction()`

### start

    public void start()
               throws JMSException

  Description copied from interface: `Service`
  Called to start the service

  Throws:
    `JMSException`

### stop

    public void stop()
              throws JMSException

  Description copied from interface: `Service`
  Called to shutdown the service

  Throws:
    `JMSException`

### getLongTermPersistence

    public PersistenceAdapter getLongTermPersistence()

### setLongTermPersistence

    public void setLongTermPersistence(PersistenceAdapter longTermPersistence)

### createMessageCache

    protected abstract MessageCache createMessageCache(String destinationName)

  Subclasses should override this method to change the type of MessageCache that is used to cache messages.

  Parameters:
    `destinationName` -
  Returns:

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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