summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins/derby-store/src
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2014-06-06 15:43:08 +0000
committerKeith Wall <kwall@apache.org>2014-06-06 15:43:08 +0000
commit39249098b7b374c5e45d7139aa8b9df3aebad385 (patch)
treeab13b41b26d2036f5765e3a95b8692fe3903ce54 /qpid/java/broker-plugins/derby-store/src
parent53fd008b70676ce1382bec414bcd0d86299a4ced (diff)
downloadqpid-python-39249098b7b374c5e45d7139aa8b9df3aebad385.tar.gz
QPID-5800: [Java Broker} Refactor MessageStore implementations extracting a MessageStoreProvider interface.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1600931 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins/derby-store/src')
-rw-r--r--qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java94
-rw-r--r--qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStoreFactory.java2
-rw-r--r--qpid/java/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreQuotaEventsTest.java2
-rw-r--r--qpid/java/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreTest.java2
4 files changed, 94 insertions, 6 deletions
diff --git a/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java b/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java
index d682076350..38b4c66ebe 100644
--- a/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java
+++ b/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStore.java
@@ -35,11 +35,21 @@ import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
+
+import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.store.AbstractJDBCMessageStore;
import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.store.Event;
+import org.apache.qpid.server.store.EventListener;
import org.apache.qpid.server.store.MessageStore;
+import org.apache.qpid.server.store.MessageStoreProvider;
+import org.apache.qpid.server.store.StorableMessageMetaData;
import org.apache.qpid.server.store.StoreException;
+import org.apache.qpid.server.store.StoredMessage;
+import org.apache.qpid.server.store.Transaction;
+import org.apache.qpid.server.store.handler.DistributedTransactionHandler;
+import org.apache.qpid.server.store.handler.MessageHandler;
+import org.apache.qpid.server.store.handler.MessageInstanceHandler;
import org.apache.qpid.util.FileUtils;
/**
@@ -47,7 +57,8 @@ import org.apache.qpid.util.FileUtils;
* mechanism.
*
*/
-public class DerbyMessageStore extends AbstractJDBCMessageStore implements MessageStore, DurableConfigurationStore
+public class DerbyMessageStore extends AbstractJDBCMessageStore implements MessageStoreProvider,
+ DurableConfigurationStore
{
private static final Logger _logger = Logger.getLogger(DerbyMessageStore.class);
@@ -72,6 +83,8 @@ public class DerbyMessageStore extends AbstractJDBCMessageStore implements Messa
private String _storeLocation;
private Class<Driver> _driverClass;
+ private final MessageStore _messageStoreFacade = new MessageStoreWrapper();
+
public DerbyMessageStore()
{
}
@@ -239,8 +252,6 @@ public class DerbyMessageStore extends AbstractJDBCMessageStore implements Messa
}
}
-
- @Override
public String getStoreLocation()
{
return _storeLocation;
@@ -446,4 +457,81 @@ public class DerbyMessageStore extends AbstractJDBCMessageStore implements Messa
{
return DriverManager.getConnection(_connectionURL);
}
+
+ @Override
+ public MessageStore getMessageStore()
+ {
+ return _messageStoreFacade;
+ }
+
+ private class MessageStoreWrapper implements MessageStore
+ {
+
+ @Override
+ public void openMessageStore(final ConfiguredObject<?> parent, final Map<String, Object> messageStoreSettings)
+ {
+ DerbyMessageStore.this.openMessageStore(parent, messageStoreSettings);
+ }
+
+ @Override
+ public <T extends StorableMessageMetaData> StoredMessage<T> addMessage(final T metaData)
+ {
+ return DerbyMessageStore.this.addMessage(metaData);
+ }
+
+ @Override
+ public boolean isPersistent()
+ {
+ return DerbyMessageStore.this.isPersistent();
+ }
+
+ @Override
+ public Transaction newTransaction()
+ {
+ return DerbyMessageStore.this.newTransaction();
+ }
+
+ @Override
+ public void closeMessageStore()
+ {
+ DerbyMessageStore.this.closeMessageStore();
+ }
+
+ @Override
+ public void addEventListener(final EventListener eventListener, final Event... events)
+ {
+ DerbyMessageStore.this.addEventListener(eventListener, events);
+ }
+
+ @Override
+ public String getStoreLocation()
+ {
+ return DerbyMessageStore.this.getStoreLocation();
+ }
+
+ @Override
+ public void onDelete()
+ {
+ DerbyMessageStore.this.onDelete();
+ }
+
+ @Override
+ public void visitMessages(final MessageHandler handler) throws StoreException
+ {
+ DerbyMessageStore.this.visitMessages(handler);
+ }
+
+ @Override
+ public void visitMessageInstances(final MessageInstanceHandler handler) throws StoreException
+ {
+ DerbyMessageStore.this.visitMessageInstances(handler);
+ }
+
+ @Override
+ public void visitDistributedTransactions(final DistributedTransactionHandler handler) throws StoreException
+ {
+ DerbyMessageStore.this.visitDistributedTransactions(handler);
+ }
+ }
+
}
diff --git a/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStoreFactory.java b/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStoreFactory.java
index 13c897135d..9bc3780a71 100644
--- a/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStoreFactory.java
+++ b/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/store/derby/DerbyMessageStoreFactory.java
@@ -48,7 +48,7 @@ public class DerbyMessageStoreFactory implements MessageStoreFactory, DurableCon
@Override
public MessageStore createMessageStore()
{
- return new DerbyMessageStore();
+ return (new DerbyMessageStore()).getMessageStore();
}
@Override
diff --git a/qpid/java/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreQuotaEventsTest.java b/qpid/java/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreQuotaEventsTest.java
index ba7ae26292..1d35b9ef83 100644
--- a/qpid/java/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreQuotaEventsTest.java
+++ b/qpid/java/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreQuotaEventsTest.java
@@ -50,7 +50,7 @@ public class DerbyMessageStoreQuotaEventsTest extends MessageStoreQuotaEventsTes
@Override
protected MessageStore createStore() throws Exception
{
- return new DerbyMessageStore();
+ return (new DerbyMessageStore()).getMessageStore();
}
@Override
diff --git a/qpid/java/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreTest.java b/qpid/java/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreTest.java
index 9a2d945494..4594b7f223 100644
--- a/qpid/java/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreTest.java
+++ b/qpid/java/broker-plugins/derby-store/src/test/java/org/apache/qpid/server/store/derby/DerbyMessageStoreTest.java
@@ -83,7 +83,7 @@ public class DerbyMessageStoreTest extends MessageStoreTestCase
@Override
protected MessageStore createMessageStore()
{
- return new DerbyMessageStore();
+ return (new DerbyMessageStore()).getMessageStore();
}
}