summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins/jdbc-store
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/jdbc-store
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/jdbc-store')
-rw-r--r--qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStore.java90
-rw-r--r--qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreFactory.java2
-rw-r--r--qpid/java/broker-plugins/jdbc-store/src/test/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreTest.java2
3 files changed, 90 insertions, 4 deletions
diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStore.java b/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStore.java
index d70f2a3d78..ddafa83bb3 100644
--- a/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStore.java
+++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStore.java
@@ -31,12 +31,22 @@ import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList;
import org.apache.log4j.Logger;
+
+import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.plugin.JDBCConnectionProviderFactory;
import org.apache.qpid.server.store.AbstractJDBCMessageStore;
+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.StoreFuture;
+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.server.util.MapValueConverter;
/**
@@ -44,7 +54,7 @@ import org.apache.qpid.server.util.MapValueConverter;
* mechanism.
*
*/
-public class JDBCMessageStore extends AbstractJDBCMessageStore implements MessageStore
+public class JDBCMessageStore extends AbstractJDBCMessageStore implements MessageStoreProvider
{
private static final Logger _logger = Logger.getLogger(JDBCMessageStore.class);
@@ -60,6 +70,7 @@ public class JDBCMessageStore extends AbstractJDBCMessageStore implements Messag
protected String _connectionURL;
private ConnectionProvider _connectionProvider;
+ private final MessageStore _messageStoreFacade = new MessageStoreWrapper();
private static class JDBCDetails
{
@@ -331,7 +342,6 @@ public class JDBCMessageStore extends AbstractJDBCMessageStore implements Messag
{
}
- @Override
public String getStoreLocation()
{
return _connectionURL;
@@ -428,4 +438,80 @@ public class JDBCMessageStore extends AbstractJDBCMessageStore implements Messag
}
}
+ @Override
+ public MessageStore getMessageStore()
+ {
+ return _messageStoreFacade;
+ }
+
+ private class MessageStoreWrapper implements MessageStore
+ {
+
+ @Override
+ public void openMessageStore(final ConfiguredObject<?> parent, final Map<String, Object> messageStoreSettings)
+ {
+ JDBCMessageStore.this.openMessageStore(parent, messageStoreSettings);
+ }
+
+ @Override
+ public <T extends StorableMessageMetaData> StoredMessage<T> addMessage(final T metaData)
+ {
+ return JDBCMessageStore.this.addMessage(metaData);
+ }
+
+ @Override
+ public boolean isPersistent()
+ {
+ return JDBCMessageStore.this.isPersistent();
+ }
+
+ @Override
+ public Transaction newTransaction()
+ {
+ return JDBCMessageStore.this.newTransaction();
+ }
+
+ @Override
+ public void closeMessageStore()
+ {
+ JDBCMessageStore.this.closeMessageStore();
+ }
+
+ @Override
+ public void addEventListener(final EventListener eventListener, final Event... events)
+ {
+ JDBCMessageStore.this.addEventListener(eventListener, events);
+ }
+
+ @Override
+ public String getStoreLocation()
+ {
+ return JDBCMessageStore.this.getStoreLocation();
+ }
+
+ @Override
+ public void onDelete()
+ {
+ JDBCMessageStore.this.onDelete();
+ }
+
+ @Override
+ public void visitMessages(final MessageHandler handler) throws StoreException
+ {
+ JDBCMessageStore.this.visitMessages(handler);
+ }
+
+ @Override
+ public void visitMessageInstances(final MessageInstanceHandler handler) throws StoreException
+ {
+ JDBCMessageStore.this.visitMessageInstances(handler);
+ }
+
+ @Override
+ public void visitDistributedTransactions(final DistributedTransactionHandler handler) throws StoreException
+ {
+ JDBCMessageStore.this.visitDistributedTransactions(handler);
+ }
+ }
+
}
diff --git a/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreFactory.java b/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreFactory.java
index e1db859a98..ab7ac6c671 100644
--- a/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreFactory.java
+++ b/qpid/java/broker-plugins/jdbc-store/src/main/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreFactory.java
@@ -42,7 +42,7 @@ public class JDBCMessageStoreFactory implements MessageStoreFactory, DurableConf
@Override
public MessageStore createMessageStore()
{
- return new JDBCMessageStore();
+ return (new JDBCMessageStore()).getMessageStore();
}
@Override
diff --git a/qpid/java/broker-plugins/jdbc-store/src/test/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreTest.java b/qpid/java/broker-plugins/jdbc-store/src/test/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreTest.java
index 2322fa7102..1f03b7f75f 100644
--- a/qpid/java/broker-plugins/jdbc-store/src/test/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreTest.java
+++ b/qpid/java/broker-plugins/jdbc-store/src/test/java/org/apache/qpid/server/store/jdbc/JDBCMessageStoreTest.java
@@ -73,7 +73,7 @@ public class JDBCMessageStoreTest extends MessageStoreTestCase
@Override
protected MessageStore createMessageStore()
{
- return new JDBCMessageStore();
+ return (new JDBCMessageStore()).getMessageStore();
}
private void assertTablesExist(Set<String> expectedTables, boolean exists) throws SQLException