From db86d03af2ce0f704398c2a9392e91e9637154ec Mon Sep 17 00:00:00 2001 From: Keith Wall Date: Fri, 4 Apr 2014 10:21:37 +0000 Subject: QPID-5653: Replace DurableConfigurationStore/MessageStore recoverers with visitors. * MS/DCS impls now have stateless visitXXX methods to retrieve message/configuration data (replaces the recoverXXXX methods) * VH implementations now uses Handlers to perform the recovery operation. * DCS's handler (ConfiguredObjectRecordRecoveverAndUpgrader) currently implemented in terms of the old DefaultUpgradeProvider/DurableConfigurationRecoverer. This will be refactored by a future commit. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1584600 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/qpid/server/protocol/v0_8/AckTest.java | 6 +-- .../qpid/server/protocol/v0_8/AcknowledgeTest.java | 6 +-- .../protocol/v0_8/QueueBrowserUsesNoAckTest.java | 4 +- .../protocol/v0_8/ReferenceCountingTest.java | 9 +++-- .../qpid/server/store/derby/DerbyMessageStore.java | 6 --- .../server/store/derby/DerbyMessageStoreTest.java | 9 +++-- .../qpid/server/store/jdbc/JDBCMessageStore.java | 6 --- qpid/java/broker-plugins/memory-store/pom.xml | 16 ++++++++ .../qpid/server/store/MemoryMessageStore.java | 5 --- .../qpid/server/store/MemoryMessageStoreTest.java | 47 ++++++++++++++++++++++ 10 files changed, 81 insertions(+), 33 deletions(-) create mode 100644 qpid/java/broker-plugins/memory-store/src/test/java/org/apache/qpid/server/store/MemoryMessageStoreTest.java (limited to 'qpid/java/broker-plugins') diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AckTest.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AckTest.java index e5cfced4e2..6b697f8221 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AckTest.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AckTest.java @@ -32,7 +32,7 @@ import org.apache.qpid.server.flow.Pre0_10CreditManager; import org.apache.qpid.server.message.MessageInstance; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.store.StoredMessage; -import org.apache.qpid.server.store.TestableMemoryMessageStore; +import org.apache.qpid.server.store.TestMemoryMessageStore; import org.apache.qpid.server.txn.AutoCommitTransaction; import org.apache.qpid.server.txn.ServerTransaction; import org.apache.qpid.server.util.BrokerTestHelper; @@ -53,7 +53,7 @@ public class AckTest extends QpidTestCase private AMQProtocolSession _protocolSession; - private TestableMemoryMessageStore _messageStore; + private TestMemoryMessageStore _messageStore; private AMQChannel _channel; @@ -71,7 +71,7 @@ public class AckTest extends QpidTestCase _protocolSession = _channel.getProtocolSession(); _virtualHost = _protocolSession.getVirtualHost(); _queue = BrokerTestHelper.createQueue(getTestName(), _virtualHost); - _messageStore = (TestableMemoryMessageStore)_virtualHost.getMessageStore(); + _messageStore = (TestMemoryMessageStore)_virtualHost.getMessageStore(); } @Override diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AcknowledgeTest.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AcknowledgeTest.java index 9e551c9c01..399564f5a4 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AcknowledgeTest.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AcknowledgeTest.java @@ -20,13 +20,11 @@ */ package org.apache.qpid.server.protocol.v0_8; - -import org.apache.qpid.AMQException; import org.apache.qpid.exchange.ExchangeDefaults; import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.store.MessageStore; -import org.apache.qpid.server.store.TestableMemoryMessageStore; +import org.apache.qpid.server.store.TestMemoryMessageStore; import org.apache.qpid.server.util.BrokerTestHelper; import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.test.utils.QpidTestCase; @@ -175,7 +173,7 @@ public class AcknowledgeTest extends QpidTestCase private void checkStoreContents(int messageCount) { - assertEquals("Message header count incorrect in the MetaDataMap", messageCount, ((TestableMemoryMessageStore) _messageStore).getMessageCount()); + assertEquals("Message header count incorrect in the MetaDataMap", messageCount, ((TestMemoryMessageStore) _messageStore).getMessageCount()); } } diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/QueueBrowserUsesNoAckTest.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/QueueBrowserUsesNoAckTest.java index e213aa8a20..520e35fe39 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/QueueBrowserUsesNoAckTest.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/QueueBrowserUsesNoAckTest.java @@ -27,7 +27,7 @@ import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.framing.FieldTable; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.store.MessageStore; -import org.apache.qpid.server.store.TestableMemoryMessageStore; +import org.apache.qpid.server.store.TestMemoryMessageStore; import org.apache.qpid.server.util.BrokerTestHelper; import org.apache.qpid.server.virtualhost.VirtualHost; import org.apache.qpid.test.utils.QpidTestCase; @@ -133,7 +133,7 @@ public class QueueBrowserUsesNoAckTest extends QpidTestCase private void checkStoreContents(int messageCount) { - assertEquals("Message header count incorrect in the MetaDataMap", messageCount, ((TestableMemoryMessageStore) _messageStore).getMessageCount()); + assertEquals("Message header count incorrect in the MetaDataMap", messageCount, ((TestMemoryMessageStore) _messageStore).getMessageCount()); } private AMQShortString browse(AMQChannel channel, AMQQueue queue) throws Exception diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/ReferenceCountingTest.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/ReferenceCountingTest.java index 227e9794da..e9c37e7b42 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/ReferenceCountingTest.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/ReferenceCountingTest.java @@ -27,7 +27,7 @@ import org.apache.qpid.framing.ContentHeaderBody; import org.apache.qpid.framing.abstraction.MessagePublishInfo; import org.apache.qpid.server.message.MessageReference; import org.apache.qpid.server.store.StoredMessage; -import org.apache.qpid.server.store.TestableMemoryMessageStore; +import org.apache.qpid.server.store.TestMemoryMessageStore; import org.apache.qpid.test.utils.QpidTestCase; /** @@ -35,12 +35,12 @@ import org.apache.qpid.test.utils.QpidTestCase; */ public class ReferenceCountingTest extends QpidTestCase { - private TestableMemoryMessageStore _store; + private TestMemoryMessageStore _store; protected void setUp() throws Exception { - _store = new TestableMemoryMessageStore(); + _store = new TestMemoryMessageStore(); } /** @@ -83,7 +83,7 @@ public class ReferenceCountingTest extends QpidTestCase MessageMetaData mmd = new MessageMetaData(info, chb); StoredMessage storedMessage = _store.addMessage(mmd); - + storedMessage.flushToStore(); AMQMessage message = new AMQMessage(storedMessage); @@ -141,6 +141,7 @@ public class ReferenceCountingTest extends QpidTestCase MessageMetaData mmd = new MessageMetaData(info, chb); StoredMessage storedMessage = _store.addMessage(mmd); + storedMessage.flushToStore(); AMQMessage message = new AMQMessage(storedMessage); 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 9202672ea6..d682076350 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 @@ -416,12 +416,6 @@ public class DerbyMessageStore extends AbstractJDBCMessageStore implements Messa return _persistentSizeHighThreshold; } - @Override - public String getStoreType() - { - return TYPE; - } - @Override public void onDelete() { 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 20de4ea339..9a2d945494 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 @@ -70,10 +70,13 @@ public class DerbyMessageStoreTest extends MessageStoreTestCase private void deleteStoreIfExists() { - File location = new File(_storeLocation); - if (location.exists()) + if (_storeLocation != null) { - FileUtils.delete(location, true); + File location = new File(_storeLocation); + if (location.exists()) + { + FileUtils.delete(location, true); + } } } 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 4ca9cb2395..509184d243 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 @@ -337,12 +337,6 @@ public class JDBCMessageStore extends AbstractJDBCMessageStore implements Messag return _connectionURL; } - @Override - public String getStoreType() - { - return TYPE; - } - @Override protected byte[] getBlobAsBytes(ResultSet rs, int col) throws SQLException { diff --git a/qpid/java/broker-plugins/memory-store/pom.xml b/qpid/java/broker-plugins/memory-store/pom.xml index b71574384e..8bec7ef981 100644 --- a/qpid/java/broker-plugins/memory-store/pom.xml +++ b/qpid/java/broker-plugins/memory-store/pom.xml @@ -36,6 +36,22 @@ ${project.version} provided + + + + org.apache.qpid + qpid-test-utils + ${project.version} + test + + + + org.apache.qpid + qpid-broker-core + ${project.version} + test-jar + test + diff --git a/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java b/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java index 61fef91e83..c8dd2e6e61 100644 --- a/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java +++ b/qpid/java/broker-plugins/memory-store/src/main/java/org/apache/qpid/server/store/MemoryMessageStore.java @@ -26,9 +26,4 @@ public class MemoryMessageStore extends AbstractMemoryMessageStore { public static final String TYPE = "Memory"; - @Override - public String getStoreType() - { - return TYPE; - } } diff --git a/qpid/java/broker-plugins/memory-store/src/test/java/org/apache/qpid/server/store/MemoryMessageStoreTest.java b/qpid/java/broker-plugins/memory-store/src/test/java/org/apache/qpid/server/store/MemoryMessageStoreTest.java new file mode 100644 index 0000000000..8fd3cbb1fe --- /dev/null +++ b/qpid/java/broker-plugins/memory-store/src/test/java/org/apache/qpid/server/store/MemoryMessageStoreTest.java @@ -0,0 +1,47 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * + */ +package org.apache.qpid.server.store; + +import java.util.Collections; +import java.util.Map; + +public class MemoryMessageStoreTest extends MessageStoreTestCase +{ + + @Override + protected Map getStoreSettings() throws Exception + { + return Collections.emptyMap(); + } + + @Override + protected MessageStore createMessageStore() + { + return new MemoryMessageStore(); + } + + @Override + protected void reopenStore() throws Exception + { + // cannot re-open memory message store as it is not persistent + } + +} -- cgit v1.2.1