diff options
| author | Keith Wall <kwall@apache.org> | 2014-06-06 15:43:08 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2014-06-06 15:43:08 +0000 |
| commit | 39249098b7b374c5e45d7139aa8b9df3aebad385 (patch) | |
| tree | ab13b41b26d2036f5765e3a95b8692fe3903ce54 /qpid/java/broker-plugins/derby-store/src | |
| parent | 53fd008b70676ce1382bec414bcd0d86299a4ced (diff) | |
| download | qpid-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')
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(); } } |
