org.codehaus.activemq.store.bdbn
Class BDbMessageStore

java.lang.Object
  extended byorg.codehaus.activemq.store.bdbn.BDbMessageStore
All Implemented Interfaces:
MessageStore, Service
Direct Known Subclasses:
BDbTopicMessageStore

public class BDbMessageStore
extends Object
implements MessageStore

An implementation of MessageStore using native C Berkeley DB

Version:
$Revision: 1.2 $

Constructor Summary
BDbMessageStore()
           
 
Method Summary
 MessageIdentity addMessage(ActiveMQMessage message)
          Adds a message to the message store
protected  byte[] asBytes(ActiveMQMessage message)
           
protected  byte[] asBytes(String messageID)
           
protected  com.sleepycat.db.Dbt createKey(String messageID)
           
protected  ActiveMQMessage extractMessage(com.sleepycat.db.Dbt value)
           
 ActiveMQMessage getMessage(MessageIdentity identity)
          Looks up a message using either the String messageID or the messageNumber.
 void recover(QueueMessageContainer container)
          Recover any messages to be delivered onto the dispatch queue.
 void removeMessage(MessageIdentity identity, MessageAck ack)
           
 void setMessageContainer(MessageContainer container)
           
 void start()
          Called to start the service
 void stop()
          Called to shutdown the service
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BDbMessageStore

public BDbMessageStore()
Method Detail

setMessageContainer

public void setMessageContainer(MessageContainer container)

addMessage

public MessageIdentity addMessage(ActiveMQMessage message)
                           throws JMSException
Description copied from interface: MessageStore
Adds a message to the message store

Specified by:
addMessage in interface MessageStore
Throws:
JMSException

getMessage

public ActiveMQMessage getMessage(MessageIdentity identity)
                           throws JMSException
Description copied from interface: MessageStore
Looks up a message using either the String messageID or the messageNumber. Implementations are encouraged to fill in the missing key if its easy to do so.

Specified by:
getMessage in interface MessageStore
Parameters:
identity - which contains either the messageID or the messageNumber
Returns:
the message or null if it does not exist
Throws:
JMSException

removeMessage

public void removeMessage(MessageIdentity identity,
                          MessageAck ack)
                   throws JMSException
Specified by:
removeMessage in interface MessageStore
Throws:
JMSException

recover

public void recover(QueueMessageContainer container)
             throws JMSException
Description copied from interface: MessageStore
Recover any messages to be delivered onto the dispatch queue.

Only called when this store is used for durable queues.

Specified by:
recover in interface MessageStore
Parameters:
container -
Throws:
JMSException

start

public void start()
           throws JMSException
Description copied from interface: Service
Called to start the service

Specified by:
start in interface Service
Throws:
JMSException

stop

public void stop()
          throws JMSException
Description copied from interface: Service
Called to shutdown the service

Specified by:
stop in interface Service
Throws:
JMSException

createKey

protected com.sleepycat.db.Dbt createKey(String messageID)

extractMessage

protected ActiveMQMessage extractMessage(com.sleepycat.db.Dbt value)
                                  throws IOException
Throws:
IOException

asBytes

protected byte[] asBytes(ActiveMQMessage message)
                  throws IOException,
                         JMSException
Throws:
IOException
JMSException

asBytes

protected byte[] asBytes(String messageID)


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