diff options
| author | Martin Ritchie <ritchiem@apache.org> | 2009-02-13 17:22:17 +0000 |
|---|---|---|
| committer | Martin Ritchie <ritchiem@apache.org> | 2009-02-13 17:22:17 +0000 |
| commit | 901e6a13ae79e59964c40186a28d3f87966c9e00 (patch) | |
| tree | 282de947aff4d1075fb043d48d1da598579792b9 /java/systests/src | |
| parent | 5ec818183416dfabda752afdae59497a002bcafc (diff) | |
| download | qpid-python-901e6a13ae79e59964c40186a28d3f87966c9e00.tar.gz | |
QPID-1631 : Convert MessageStore to TransactionLog and RoutingTable. Updated all references and provided a test to ensure that whilst we are transitioning the configuration we can use the old MessageStore classes that now implement both interfaces without any config updates. Updates to the configuration can come when the store are renamed *TransactionLog
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@744184 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/systests/src')
| -rw-r--r-- | java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java | 61 |
1 files changed, 32 insertions, 29 deletions
diff --git a/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java b/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java index dd71b2d0da..256491194d 100644 --- a/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java +++ b/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java @@ -30,18 +30,21 @@ import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.server.exchange.Exchange; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.queue.MessageMetaData; +import org.apache.qpid.server.transactionlog.TransactionLog; +import org.apache.qpid.server.routing.RoutingTable; import java.util.HashMap; import java.util.Iterator; -public class SlowMessageStore implements MessageStore +public class SlowMessageStore implements TransactionLog, RoutingTable { private static final Logger _logger = Logger.getLogger(SlowMessageStore.class); private static final String DELAYS = "delays"; private HashMap<String, Long> _preDelays = new HashMap<String, Long>(); private HashMap<String, Long> _postDelays = new HashMap<String, Long>(); private long _defaultDelay = 0L; - private MessageStore _realStore = new MemoryMessageStore(); + private TransactionLog _realTransactionLog = new MemoryMessageStore(); + private RoutingTable _realRoutingTable = (RoutingTable)_realTransactionLog; private static final String PRE = "pre"; private static final String POST = "post"; private String DEFAULT_DELAY = "default"; @@ -53,30 +56,30 @@ public class SlowMessageStore implements MessageStore configureDelays(delays); - String messageStoreClass = config.getString(base + ".store.class"); + String transactionLogClass = config.getString(base + ".store.class"); if (delays.containsKey(DEFAULT_DELAY)) { _defaultDelay = delays.getLong(DEFAULT_DELAY); } - if (messageStoreClass != null) + if (transactionLogClass != null) { - Class clazz = Class.forName(messageStoreClass); + Class clazz = Class.forName(transactionLogClass); Object o = clazz.newInstance(); - if (!(o instanceof MessageStore)) + if (!(o instanceof TransactionLog)) { - throw new ClassCastException("Message store class must implement " + MessageStore.class + ". Class " + clazz + + throw new ClassCastException("TransactionLog class must implement " + TransactionLog.class + ". Class " + clazz + " does not."); } - _realStore = (MessageStore) o; - _realStore.configure(virtualHost, base + ".store", config); + _realTransactionLog = (TransactionLog) o; + _realTransactionLog.configure(virtualHost, base , config); } else { - _realStore.configure(virtualHost, base + ".store", config); + _realTransactionLog.configure(virtualHost, base , config); } } @@ -150,42 +153,42 @@ public class SlowMessageStore implements MessageStore public void close() throws Exception { doPreDelay("close"); - _realStore.close(); + _realTransactionLog.close(); doPostDelay("close"); } public void removeMessage(StoreContext storeContext, Long messageId) throws AMQException { doPreDelay("removeMessage"); - _realStore.removeMessage(storeContext, messageId); + _realTransactionLog.removeMessage(storeContext, messageId); doPostDelay("removeMessage"); } public void createExchange(Exchange exchange) throws AMQException { doPreDelay("createExchange"); - _realStore.createExchange(exchange); + _realRoutingTable.createExchange(exchange); doPostDelay("createExchange"); } public void removeExchange(Exchange exchange) throws AMQException { doPreDelay("removeExchange"); - _realStore.removeExchange(exchange); + _realRoutingTable.removeExchange(exchange); doPostDelay("removeExchange"); } public void bindQueue(Exchange exchange, AMQShortString routingKey, AMQQueue queue, FieldTable args) throws AMQException { doPreDelay("bindQueue"); - _realStore.bindQueue(exchange, routingKey, queue, args); + _realRoutingTable.bindQueue(exchange, routingKey, queue, args); doPostDelay("bindQueue"); } public void unbindQueue(Exchange exchange, AMQShortString routingKey, AMQQueue queue, FieldTable args) throws AMQException { doPreDelay("unbindQueue"); - _realStore.unbindQueue(exchange, routingKey, queue, args); + _realRoutingTable.unbindQueue(exchange, routingKey, queue, args); doPostDelay("unbindQueue"); } @@ -197,56 +200,56 @@ public class SlowMessageStore implements MessageStore public void createQueue(AMQQueue queue, FieldTable arguments) throws AMQException { doPreDelay("createQueue"); - _realStore.createQueue(queue, arguments); + _realRoutingTable.createQueue(queue, arguments); doPostDelay("createQueue"); } public void removeQueue(AMQQueue queue) throws AMQException { doPreDelay("removeQueue"); - _realStore.removeQueue(queue); + _realRoutingTable.removeQueue(queue); doPostDelay("removeQueue"); } public void enqueueMessage(StoreContext context, AMQQueue queue, Long messageId) throws AMQException { doPreDelay("enqueueMessage"); - _realStore.enqueueMessage(context, queue, messageId); + _realTransactionLog.enqueueMessage(context, queue, messageId); doPostDelay("enqueueMessage"); } public void dequeueMessage(StoreContext context, AMQQueue queue, Long messageId) throws AMQException { doPreDelay("dequeueMessage"); - _realStore.dequeueMessage(context, queue, messageId); + _realTransactionLog.dequeueMessage(context, queue, messageId); doPostDelay("dequeueMessage"); } public void beginTran(StoreContext context) throws AMQException { doPreDelay("beginTran"); - _realStore.beginTran(context); + _realTransactionLog.beginTran(context); doPostDelay("beginTran"); } public void commitTran(StoreContext context) throws AMQException { doPreDelay("commitTran"); - _realStore.commitTran(context); + _realTransactionLog.commitTran(context); doPostDelay("commitTran"); } public void abortTran(StoreContext context) throws AMQException { doPreDelay("abortTran"); - _realStore.abortTran(context); + _realTransactionLog.abortTran(context); doPostDelay("abortTran"); } public boolean inTran(StoreContext context) { doPreDelay("inTran"); - boolean b = _realStore.inTran(context); + boolean b = _realTransactionLog.inTran(context); doPostDelay("inTran"); return b; } @@ -254,21 +257,21 @@ public class SlowMessageStore implements MessageStore public void storeContentBodyChunk(StoreContext context, Long messageId, int index, ContentChunk contentBody, boolean lastContentBody) throws AMQException { doPreDelay("storeContentBodyChunk"); - _realStore.storeContentBodyChunk(context, messageId, index, contentBody, lastContentBody); + _realTransactionLog.storeContentBodyChunk(context, messageId, index, contentBody, lastContentBody); doPostDelay("storeContentBodyChunk"); } public void storeMessageMetaData(StoreContext context, Long messageId, MessageMetaData messageMetaData) throws AMQException { doPreDelay("storeMessageMetaData"); - _realStore.storeMessageMetaData(context, messageId, messageMetaData); + _realTransactionLog.storeMessageMetaData(context, messageId, messageMetaData); doPostDelay("storeMessageMetaData"); } public MessageMetaData getMessageMetaData(StoreContext context, Long messageId) throws AMQException { doPreDelay("getMessageMetaData"); - MessageMetaData mmd = _realStore.getMessageMetaData(context, messageId); + MessageMetaData mmd = _realTransactionLog.getMessageMetaData(context, messageId); doPostDelay("getMessageMetaData"); return mmd; } @@ -276,14 +279,14 @@ public class SlowMessageStore implements MessageStore public ContentChunk getContentBodyChunk(StoreContext context, Long messageId, int index) throws AMQException { doPreDelay("getContentBodyChunk"); - ContentChunk c = _realStore.getContentBodyChunk(context, messageId, index); + ContentChunk c = _realTransactionLog.getContentBodyChunk(context, messageId, index); doPostDelay("getContentBodyChunk"); return c; } public boolean isPersistent() { - return _realStore.isPersistent(); + return _realTransactionLog.isPersistent(); } } |
