diff options
| author | Keith Wall <kwall@apache.org> | 2014-03-25 10:07:21 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2014-03-25 10:07:21 +0000 |
| commit | fcc3f654b60b7dd2180afe73e8809545725b41af (patch) | |
| tree | ef5f631412fdbfd5a6ff4232782e90692e3767c1 /qpid/java/broker-plugins/jdbc-store | |
| parent | b0e9d446fd5edc23267e2aa924a703749bdb95df (diff) | |
| download | qpid-python-fcc3f654b60b7dd2180afe73e8809545725b41af.tar.gz | |
Introduction of separate lifecycle methods on stores for open/close/recover.
Change Upgraders responsibility to create the amqp standard exchanges when
upgrading from earlier store versions.
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/java-broker-bdb-ha2@1581288 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins/jdbc-store')
2 files changed, 20 insertions, 20 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 2c2b701c61..55c8d3ef79 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,7 +31,6 @@ import java.util.Map; import java.util.concurrent.CopyOnWriteArrayList; import org.apache.log4j.Logger; -import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.plugin.JDBCConnectionProviderFactory; import org.apache.qpid.server.store.AbstractJDBCMessageStore; import org.apache.qpid.server.store.MessageStore; @@ -259,18 +258,24 @@ public class JDBCMessageStore extends AbstractJDBCMessageStore implements Messag @Override protected void doClose() { - while(!_transactions.isEmpty()) - { - RecordedJDBCTransaction txn = _transactions.get(0); - txn.abortTran(); - } try { - _connectionProvider.close(); + while(!_transactions.isEmpty()) + { + RecordedJDBCTransaction txn = _transactions.get(0); + txn.abortTran(); + } } - catch (SQLException e) + finally { - throw new StoreException("Unable to close connection provider ", e); + try + { + _connectionProvider.close(); + } + catch (SQLException e) + { + throw new StoreException("Unable to close connection provider ", e); + } } } @@ -281,11 +286,9 @@ public class JDBCMessageStore extends AbstractJDBCMessageStore implements Messag } - protected void implementationSpecificConfiguration(String name, - VirtualHost virtualHost) + protected void implementationSpecificConfiguration(String name, Map<String, Object> storeSettings) throws ClassNotFoundException, SQLException { - Map<String, Object> storeSettings = isConfigStoreOnly() ? virtualHost.getConfigurationStoreSettings() : virtualHost.getMessageStoreSettings(); String connectionURL = String.valueOf(storeSettings.get(CONNECTION_URL)); Object poolAttribute = storeSettings.get(CONNECTION_POOL); 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 dc6bb0158d..2322fa7102 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 @@ -20,8 +20,6 @@ */ package org.apache.qpid.server.store.jdbc; -import static org.mockito.Mockito.when; - import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; @@ -32,7 +30,6 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.store.MessageStore; import org.apache.qpid.server.store.MessageStoreTestCase; @@ -55,21 +52,21 @@ public class JDBCMessageStoreTest extends MessageStoreTestCase public void testOnDelete() throws Exception { - String[] expectedTables = JDBCMessageStore.ALL_TABLES; + Set<String> expectedTables = JDBCMessageStore.MESSAGE_STORE_TABLE_NAMES; assertTablesExist(expectedTables, true); - getStore().close(); + getStore().closeMessageStore(); assertTablesExist(expectedTables, true); getStore().onDelete(); assertTablesExist(expectedTables, false); } @Override - protected void setUpStoreConfiguration(VirtualHost virtualHost) throws Exception + protected Map<String, Object> getStoreSettings() { _connectionURL = "jdbc:derby:memory:/" + getTestName() + ";create=true"; Map<String, Object> messageStoreSettings = new HashMap<String, Object>(); messageStoreSettings.put(JDBCMessageStore.CONNECTION_URL, _connectionURL); - when(virtualHost.getMessageStoreSettings()).thenReturn(messageStoreSettings); + return messageStoreSettings; } @@ -79,7 +76,7 @@ public class JDBCMessageStoreTest extends MessageStoreTestCase return new JDBCMessageStore(); } - private void assertTablesExist(String[] expectedTables, boolean exists) throws SQLException + private void assertTablesExist(Set<String> expectedTables, boolean exists) throws SQLException { Set<String> existingTables = getTableNames(); for (String tableName : expectedTables) |
