diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2014-02-14 11:46:31 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2014-02-14 11:46:31 +0000 |
| commit | 763396a3a8c18a9b42e2cf611333e61d4c6444de (patch) | |
| tree | e3898eeb82ddca9e609ef2ba3b45ca271a675f6c /qpid/java/bdbstore/src/main | |
| parent | 50b314a51a2c787fcd412a84cb8464f72e3868b4 (diff) | |
| download | qpid-python-763396a3a8c18a9b42e2cf611333e61d4c6444de.tar.gz | |
QPID-5551 : Change AMQStoreException to StoreException which inherits from ServerScopedRuntimeException
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1568252 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/bdbstore/src/main')
11 files changed, 130 insertions, 209 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java index 53365e6b96..37fb77f547 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/AbstractBDBMessageStore.java @@ -44,7 +44,7 @@ import java.util.concurrent.atomic.AtomicLong; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.log4j.Logger; -import org.apache.qpid.server.store.AMQStoreException; +import org.apache.qpid.server.store.StoreException; import org.apache.qpid.server.message.EnqueueableMessage; import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.queue.AMQQueue; @@ -62,7 +62,6 @@ import org.apache.qpid.server.store.berkeleydb.tuple.QueueEntryBinding; import org.apache.qpid.server.store.berkeleydb.tuple.UUIDTupleBinding; import org.apache.qpid.server.store.berkeleydb.tuple.XidBinding; import org.apache.qpid.server.store.berkeleydb.upgrade.Upgrader; -import org.apache.qpid.server.util.ServerScopedRuntimeException; import org.apache.qpid.util.FileUtils; public abstract class AbstractBDBMessageStore implements MessageStore, DurableConfigurationStore @@ -328,9 +327,9 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo * * This is required if you do not want to perform recovery of the store data * - * @throws AMQStoreException if the store is not in the correct state + * @throws org.apache.qpid.server.store.StoreException if the store is not in the correct state */ - void startWithNoRecover() throws AMQStoreException + void startWithNoRecover() throws StoreException { _stateManager.attainState(State.INITIALISING); _stateManager.attainState(State.INITIALISED); @@ -489,16 +488,12 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } catch (DatabaseException e) { - throw new ServerScopedRuntimeException("Error recovering persistent state: " + e.getMessage(), e); - } - catch (AMQStoreException e) - { - throw new ServerScopedRuntimeException("Error recovering persistent state: " + e.getMessage(), e); + throw new StoreException("Error recovering persistent state: " + e.getMessage(), e); } } - private void updateConfigVersion(int newConfigVersion) throws AMQStoreException + private void updateConfigVersion(int newConfigVersion) throws StoreException { Cursor cursor = null; try @@ -515,7 +510,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo OperationStatus status = cursor.put(key, value); if (status != OperationStatus.SUCCESS) { - throw new AMQStoreException("Error setting config version: " + status); + throw new StoreException("Error setting config version: " + status); } } cursor.close(); @@ -529,7 +524,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } - private int getConfigVersion() throws AMQStoreException + private int getConfigVersion() throws StoreException { Cursor cursor = null; try @@ -548,7 +543,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo OperationStatus status = _configVersionDb.put(null, key, value); if (status != OperationStatus.SUCCESS) { - throw new AMQStoreException("Error initialising config version: " + status); + throw new StoreException("Error initialising config version: " + status); } return 0; } @@ -711,7 +706,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo dtxrh.completeDtxRecordRecovery(); } - public void removeMessage(long messageId, boolean sync) throws AMQStoreException + public void removeMessage(long messageId, boolean sync) throws StoreException { boolean complete = false; @@ -823,11 +818,11 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } catch (DatabaseException e1) { - throw new AMQStoreException("Error aborting transaction " + e1, e1); + throw new StoreException("Error aborting transaction " + e1, e1); } } - throw new AMQStoreException("Error removing message with id " + messageId + " from database: " + e.getMessage(), e); + throw new StoreException("Error removing message with id " + messageId + " from database: " + e.getMessage(), e); } finally { @@ -840,14 +835,14 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } catch (DatabaseException e1) { - throw new AMQStoreException("Error aborting transaction " + e1, e1); + throw new StoreException("Error aborting transaction " + e1, e1); } } } } @Override - public void create(UUID id, String type, Map<String, Object> attributes) throws AMQStoreException + public void create(UUID id, String type, Map<String, Object> attributes) throws StoreException { if (_stateManager.isInState(State.ACTIVE)) { @@ -857,7 +852,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } @Override - public void remove(UUID id, String type) throws AMQStoreException + public void remove(UUID id, String type) throws StoreException { if (LOGGER.isDebugEnabled()) { @@ -866,12 +861,12 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo OperationStatus status = removeConfiguredObject(null, id); if (status == OperationStatus.NOTFOUND) { - throw new AMQStoreException("Configured object of type " + type + " with id " + id + " not found"); + throw new StoreException("Configured object of type " + type + " with id " + id + " not found"); } } @Override - public UUID[] removeConfiguredObjects(final UUID... objects) throws AMQStoreException + public UUID[] removeConfiguredObjects(final UUID... objects) throws StoreException { com.sleepycat.je.Transaction txn = _environment.beginTransaction(null, null); Collection<UUID> removed = new ArrayList<UUID>(objects.length); @@ -888,17 +883,17 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } @Override - public void update(UUID id, String type, Map<String, Object> attributes) throws AMQStoreException + public void update(UUID id, String type, Map<String, Object> attributes) throws StoreException { update(false, id, type, attributes, null); } - public void update(ConfiguredObjectRecord... records) throws AMQStoreException + public void update(ConfiguredObjectRecord... records) throws StoreException { update(false, records); } - public void update(boolean createIfNecessary, ConfiguredObjectRecord... records) throws AMQStoreException + public void update(boolean createIfNecessary, ConfiguredObjectRecord... records) throws StoreException { com.sleepycat.je.Transaction txn = _environment.beginTransaction(null, null); for(ConfiguredObjectRecord record : records) @@ -908,7 +903,8 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo txn.commit(); } - private void update(boolean createIfNecessary, UUID id, String type, Map<String, Object> attributes, com.sleepycat.je.Transaction txn) throws AMQStoreException + private void update(boolean createIfNecessary, UUID id, String type, Map<String, Object> attributes, com.sleepycat.je.Transaction txn) throws + StoreException { if (LOGGER.isDebugEnabled()) { @@ -935,17 +931,17 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo status = _configuredObjectsDb.put(txn, key, newValue); if (status != OperationStatus.SUCCESS) { - throw new AMQStoreException("Error updating queue details within the store: " + status); + throw new StoreException("Error updating queue details within the store: " + status); } } else if (status != OperationStatus.NOTFOUND) { - throw new AMQStoreException("Error finding queue details within the store: " + status); + throw new StoreException("Error finding queue details within the store: " + status); } } catch (DatabaseException e) { - throw new AMQStoreException("Error updating queue details within the store: " + e,e); + throw new StoreException("Error updating queue details within the store: " + e,e); } } @@ -956,10 +952,10 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo * @param queue The the queue to place the message on. * @param messageId The message to enqueue. * - * @throws AMQStoreException If the operation fails for any reason. + * @throws org.apache.qpid.server.store.StoreException If the operation fails for any reason. */ public void enqueueMessage(final com.sleepycat.je.Transaction tx, final TransactionLogResource queue, - long messageId) throws AMQStoreException + long messageId) throws StoreException { DatabaseEntry key = new DatabaseEntry(); @@ -982,7 +978,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo catch (DatabaseException e) { LOGGER.error("Failed to enqueue: " + e.getMessage(), e); - throw new AMQStoreException("Error writing enqueued message with id " + messageId + " for queue " + throw new StoreException("Error writing enqueued message with id " + messageId + " for queue " + (queue instanceof AMQQueue ? ((AMQQueue) queue).getName() + " with id " : "") + queue.getId() + " to database", e); } @@ -995,10 +991,10 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo * @param queue The queue to take the message from. * @param messageId The message to dequeue. * - * @throws AMQStoreException If the operation fails for any reason, or if the specified message does not exist. + * @throws org.apache.qpid.server.store.StoreException If the operation fails for any reason, or if the specified message does not exist. */ public void dequeueMessage(final com.sleepycat.je.Transaction tx, final TransactionLogResource queue, - long messageId) throws AMQStoreException + long messageId) throws StoreException { DatabaseEntry key = new DatabaseEntry(); @@ -1018,12 +1014,12 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo OperationStatus status = _deliveryDb.delete(tx, key); if (status == OperationStatus.NOTFOUND) { - throw new AMQStoreException("Unable to find message with id " + messageId + " on queue " + throw new StoreException("Unable to find message with id " + messageId + " on queue " + (queue instanceof AMQQueue ? ((AMQQueue) queue).getName() + " with id " : "") + id); } else if (status != OperationStatus.SUCCESS) { - throw new AMQStoreException("Unable to remove message with id " + messageId + " on queue" + throw new StoreException("Unable to remove message with id " + messageId + " on queue" + (queue instanceof AMQQueue ? ((AMQQueue) queue).getName() + " with id " : "") + id); } @@ -1041,7 +1037,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo LOGGER.error("Failed to dequeue message " + messageId + ": " + e.getMessage(), e); LOGGER.error(tx); - throw new AMQStoreException("Error accessing database while dequeuing message: " + e.getMessage(), e); + throw new StoreException("Error accessing database while dequeuing message: " + e.getMessage(), e); } } @@ -1051,7 +1047,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo byte[] globalId, byte[] branchId, org.apache.qpid.server.store.Transaction.Record[] enqueues, - org.apache.qpid.server.store.Transaction.Record[] dequeues) throws AMQStoreException + org.apache.qpid.server.store.Transaction.Record[] dequeues) throws StoreException { DatabaseEntry key = new DatabaseEntry(); Xid xid = new Xid(format, globalId, branchId); @@ -1070,12 +1066,12 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo catch (DatabaseException e) { LOGGER.error("Failed to write xid: " + e.getMessage(), e); - throw new AMQStoreException("Error writing xid to database", e); + throw new StoreException("Error writing xid to database", e); } } private void removeXid(com.sleepycat.je.Transaction txn, long format, byte[] globalId, byte[] branchId) - throws AMQStoreException + throws StoreException { DatabaseEntry key = new DatabaseEntry(); Xid xid = new Xid(format, globalId, branchId); @@ -1090,11 +1086,11 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo OperationStatus status = _xidDb.delete(txn, key); if (status == OperationStatus.NOTFOUND) { - throw new AMQStoreException("Unable to find xid"); + throw new StoreException("Unable to find xid"); } else if (status != OperationStatus.SUCCESS) { - throw new AMQStoreException("Unable to remove xid"); + throw new StoreException("Unable to remove xid"); } } @@ -1104,7 +1100,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo LOGGER.error("Failed to remove xid ", e); LOGGER.error(txn); - throw new AMQStoreException("Error accessing database while removing xid: " + e.getMessage(), e); + throw new StoreException("Error accessing database while removing xid: " + e.getMessage(), e); } } @@ -1113,13 +1109,14 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo * * @param tx The transaction to commit all operations for. * - * @throws AMQStoreException If the operation fails for any reason. + * @throws org.apache.qpid.server.store.StoreException If the operation fails for any reason. */ - private StoreFuture commitTranImpl(final com.sleepycat.je.Transaction tx, boolean syncCommit) throws AMQStoreException + private StoreFuture commitTranImpl(final com.sleepycat.je.Transaction tx, boolean syncCommit) throws + StoreException { if (tx == null) { - throw new AMQStoreException("Fatal internal error: transactional is null at commitTran"); + throw new StoreException("Fatal internal error: transactional is null at commitTran"); } StoreFuture result; @@ -1135,7 +1132,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } catch (DatabaseException e) { - throw new AMQStoreException("Error commit tx: " + e.getMessage(), e); + throw new StoreException("Error commit tx: " + e.getMessage(), e); } return result; @@ -1146,9 +1143,9 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo * * @param tx The transaction to abandon. * - * @throws AMQStoreException If the operation fails for any reason. + * @throws org.apache.qpid.server.store.StoreException If the operation fails for any reason. */ - public void abortTran(final com.sleepycat.je.Transaction tx) throws AMQStoreException + public void abortTran(final com.sleepycat.je.Transaction tx) throws StoreException { if (LOGGER.isDebugEnabled()) { @@ -1161,7 +1158,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } catch (DatabaseException e) { - throw new AMQStoreException("Error aborting transaction: " + e.getMessage(), e); + throw new StoreException("Error aborting transaction: " + e.getMessage(), e); } } @@ -1172,7 +1169,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo * * @return a list of message ids for messages enqueued for a particular queue */ - List<Long> getEnqueuedMessages(UUID queueId) throws AMQStoreException + List<Long> getEnqueuedMessages(UUID queueId) throws StoreException { Cursor cursor = null; try @@ -1208,7 +1205,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } catch (DatabaseException e) { - throw new AMQStoreException("Database error: " + e.getMessage(), e); + throw new StoreException("Database error: " + e.getMessage(), e); } finally { @@ -1220,7 +1217,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } catch (DatabaseException e) { - throw new AMQStoreException("Error closing cursor: " + e.getMessage(), e); + throw new StoreException("Error closing cursor: " + e.getMessage(), e); } } } @@ -1244,10 +1241,10 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo * @param offset The offset of the data chunk in the message. * @param contentBody The content of the data chunk. * - * @throws AMQStoreException If the operation fails for any reason, or if the specified message does not exist. + * @throws org.apache.qpid.server.store.StoreException If the operation fails for any reason, or if the specified message does not exist. */ protected void addContent(final com.sleepycat.je.Transaction tx, long messageId, int offset, - ByteBuffer contentBody) throws AMQStoreException + ByteBuffer contentBody) throws StoreException { DatabaseEntry key = new DatabaseEntry(); LongBinding.longToEntry(messageId, key); @@ -1259,7 +1256,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo OperationStatus status = _messageContentDb.put(tx, key, value); if (status != OperationStatus.SUCCESS) { - throw new AMQStoreException("Error adding content for message id " + messageId + ": " + status); + throw new StoreException("Error adding content for message id " + messageId + ": " + status); } if (LOGGER.isDebugEnabled()) @@ -1270,7 +1267,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } catch (DatabaseException e) { - throw new AMQStoreException("Error writing AMQMessage with id " + messageId + " to database: " + e.getMessage(), e); + throw new StoreException("Error writing AMQMessage with id " + messageId + " to database: " + e.getMessage(), e); } } @@ -1281,11 +1278,11 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo * @param messageId The message to store the data for. * @param messageMetaData The message meta data to store. * - * @throws AMQStoreException If the operation fails for any reason, or if the specified message does not exist. + * @throws org.apache.qpid.server.store.StoreException If the operation fails for any reason, or if the specified message does not exist. */ private void storeMetaData(final com.sleepycat.je.Transaction tx, long messageId, StorableMessageMetaData messageMetaData) - throws AMQStoreException + throws StoreException { if (LOGGER.isDebugEnabled()) { @@ -1310,7 +1307,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } catch (DatabaseException e) { - throw new AMQStoreException("Error writing message metadata with id " + messageId + " to database: " + e.getMessage(), e); + throw new StoreException("Error writing message metadata with id " + messageId + " to database: " + e.getMessage(), e); } } @@ -1321,9 +1318,9 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo * * @return The message meta data. * - * @throws AMQStoreException If the operation fails for any reason, or if the specified message does not exist. + * @throws org.apache.qpid.server.store.StoreException If the operation fails for any reason, or if the specified message does not exist. */ - public StorableMessageMetaData getMessageMetaData(long messageId) throws AMQStoreException + public StorableMessageMetaData getMessageMetaData(long messageId) throws StoreException { if (LOGGER.isDebugEnabled()) { @@ -1341,7 +1338,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo OperationStatus status = _messageMetaDataDb.get(null, key, value, LockMode.READ_UNCOMMITTED); if (status != OperationStatus.SUCCESS) { - throw new AMQStoreException("Metadata not found for message with id " + messageId); + throw new StoreException("Metadata not found for message with id " + messageId); } StorableMessageMetaData mdd = messageBinding.entryToObject(value); @@ -1350,7 +1347,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } catch (DatabaseException e) { - throw new AMQStoreException("Error reading message metadata for message with id " + messageId + ": " + e.getMessage(), e); + throw new StoreException("Error reading message metadata for message with id " + messageId + ": " + e.getMessage(), e); } } @@ -1364,9 +1361,9 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo * * @return The number of bytes inserted into the destination * - * @throws AMQStoreException If the operation fails for any reason, or if the specified message does not exist. + * @throws org.apache.qpid.server.store.StoreException If the operation fails for any reason, or if the specified message does not exist. */ - public int getContent(long messageId, int offset, ByteBuffer dst) throws AMQStoreException + public int getContent(long messageId, int offset, ByteBuffer dst) throws StoreException { DatabaseEntry contentKeyEntry = new DatabaseEntry(); LongBinding.longToEntry(messageId, contentKeyEntry); @@ -1390,7 +1387,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo int size = dataAsBytes.length; if (offset > size) { - throw new ServerScopedRuntimeException("Offset " + offset + " is greater than message size " + size + throw new StoreException("Offset " + offset + " is greater than message size " + size + " for message id " + messageId + "!"); } @@ -1407,7 +1404,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } catch (DatabaseException e) { - throw new AMQStoreException("Error getting AMQMessage with id " + messageId + " to database: " + e.getMessage(), e); + throw new StoreException("Error getting AMQMessage with id " + messageId + " to database: " + e.getMessage(), e); } } @@ -1450,9 +1447,9 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo * Makes the specified configured object persistent. * * @param configuredObject Details of the configured object to store. - * @throws AMQStoreException If the operation fails for any reason. + * @throws org.apache.qpid.server.store.StoreException If the operation fails for any reason. */ - private void storeConfiguredObjectEntry(ConfiguredObjectRecord configuredObject) throws AMQStoreException + private void storeConfiguredObjectEntry(ConfiguredObjectRecord configuredObject) throws StoreException { if (_stateManager.isInState(State.ACTIVE)) { @@ -1470,19 +1467,19 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo OperationStatus status = _configuredObjectsDb.put(null, key, value); if (status != OperationStatus.SUCCESS) { - throw new AMQStoreException("Error writing configured object " + configuredObject + " to database: " + throw new StoreException("Error writing configured object " + configuredObject + " to database: " + status); } } catch (DatabaseException e) { - throw new AMQStoreException("Error writing configured object " + configuredObject + throw new StoreException("Error writing configured object " + configuredObject + " to database: " + e.getMessage(), e); } } } - private OperationStatus removeConfiguredObject(Transaction tx, UUID id) throws AMQStoreException + private OperationStatus removeConfiguredObject(Transaction tx, UUID id) throws StoreException { LOGGER.debug("Removing configured object: " + id); @@ -1495,7 +1492,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } catch (DatabaseException e) { - throw new AMQStoreException("Error deleting of configured object with id " + id + " from database", e); + throw new StoreException("Error deleting of configured object with id " + id + " from database", e); } } @@ -1536,14 +1533,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo StorableMessageMetaData metaData = _metaDataRef.get(); if(metaData == null) { - try - { - metaData = AbstractBDBMessageStore.this.getMessageMetaData(_messageId); - } - catch (AMQStoreException e) - { - throw new ServerScopedRuntimeException(e); - } + metaData = AbstractBDBMessageStore.this.getMessageMetaData(_messageId); _metaDataRef = new SoftReference<StorableMessageMetaData>(metaData); } @@ -1588,15 +1578,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } else { - try - { - return AbstractBDBMessageStore.this.getContent(_messageId, offsetInMessage, dst); - } - catch (AMQStoreException e) - { - // TODO maybe should throw a checked exception, or at least log before throwing - throw new ServerScopedRuntimeException(e); - } + return AbstractBDBMessageStore.this.getContent(_messageId, offsetInMessage, dst); } } @@ -1630,11 +1612,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo } catch(DatabaseException e) { - throw new ServerScopedRuntimeException(e); - } - catch (AMQStoreException e) - { - throw new ServerScopedRuntimeException(e); + throw new StoreException(e); } finally { @@ -1658,17 +1636,9 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo public void remove() { - try - { - int delta = getMetaData().getContentSize(); - AbstractBDBMessageStore.this.removeMessage(_messageId, false); - storedSizeChange(-delta); - - } - catch (AMQStoreException e) - { - throw new ServerScopedRuntimeException(e); - } + int delta = getMetaData().getContentSize(); + AbstractBDBMessageStore.this.removeMessage(_messageId, false); + storedSizeChange(-delta); } private boolean stored() @@ -1693,7 +1663,7 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo LOGGER.error("Exception during transaction begin, closing store environment.", e); closeEnvironmentSafely(); - throw new ServerScopedRuntimeException("Exception during transaction begin, store environment closed.", e); + throw new StoreException("Exception during transaction begin, store environment closed.", e); } } @@ -1706,89 +1676,41 @@ public abstract class AbstractBDBMessageStore implements MessageStore, DurableCo _storeSizeIncrease += storedMessage.getMetaData().getContentSize(); } - try - { - AbstractBDBMessageStore.this.enqueueMessage(_txn, queue, message.getMessageNumber()); - } - catch (AMQStoreException e) - { - throw new ServerScopedRuntimeException("A problem has been encountered with the message store", e); - } + AbstractBDBMessageStore.this.enqueueMessage(_txn, queue, message.getMessageNumber()); } public void dequeueMessage(TransactionLogResource queue, EnqueueableMessage message) { - try - { - AbstractBDBMessageStore.this.dequeueMessage(_txn, queue, message.getMessageNumber()); - } - catch (AMQStoreException e) - { - throw new ServerScopedRuntimeException("A problem has been encountered with the message store", e); - } + AbstractBDBMessageStore.this.dequeueMessage(_txn, queue, message.getMessageNumber()); } public void commitTran() { - try - { - AbstractBDBMessageStore.this.commitTranImpl(_txn, true); - AbstractBDBMessageStore.this.storedSizeChange(_storeSizeIncrease); - } - catch (AMQStoreException e) - { - throw new ServerScopedRuntimeException("A problem has been encountered with the message store", e); - } + AbstractBDBMessageStore.this.commitTranImpl(_txn, true); + AbstractBDBMessageStore.this.storedSizeChange(_storeSizeIncrease); } public StoreFuture commitTranAsync() { - try - { - AbstractBDBMessageStore.this.storedSizeChange(_storeSizeIncrease); - return AbstractBDBMessageStore.this.commitTranImpl(_txn, false); - } - catch (AMQStoreException e) - { - throw new ServerScopedRuntimeException("A problem has been encountered with the message store", e); - } + AbstractBDBMessageStore.this.storedSizeChange(_storeSizeIncrease); + return AbstractBDBMessageStore.this.commitTranImpl(_txn, false); } public void abortTran() { - try - { - AbstractBDBMessageStore.this.abortTran(_txn); - } - catch (AMQStoreException e) - { - throw new ServerScopedRuntimeException("A problem has been encountered with the message store", e); - } + AbstractBDBMessageStore.this.abortTran(_txn); } public void removeXid(long format, byte[] globalId, byte[] branchId) { - try - { - AbstractBDBMessageStore.this.removeXid(_txn, format, globalId, branchId); - } - catch (AMQStoreException e) - { - throw new ServerScopedRuntimeException("A problem has been encountered with the message store", e); - } + AbstractBDBMessageStore.this.removeXid(_txn, format, globalId, branchId); + } public void recordXid(long format, byte[] globalId, byte[] branchId, Record[] enqueues, Record[] dequeues) { - try - { - AbstractBDBMessageStore.this.recordXid(_txn, format, globalId, branchId, enqueues, dequeues); - } - catch (AMQStoreException e) - { - throw new ServerScopedRuntimeException("A problem has been encountered with the message store", e); - } + AbstractBDBMessageStore.this.recordXid(_txn, format, globalId, branchId, enqueues, dequeues); } } diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBBackup.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBBackup.java index fee1629743..80802b6a0c 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBBackup.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBBackup.java @@ -26,7 +26,7 @@ import com.sleepycat.je.EnvironmentConfig; import com.sleepycat.je.util.DbBackup; import org.apache.log4j.Logger; -import org.apache.qpid.server.util.ServerScopedRuntimeException; +import org.apache.qpid.server.store.StoreException; import org.apache.qpid.util.CommandLineParser; import org.apache.qpid.util.FileUtils; @@ -250,7 +250,7 @@ public class BDBBackup if (fileSet.length == 0) { - throw new ServerScopedRuntimeException("There are no BDB log files to backup in the " + fromdir + " directory."); + throw new StoreException("There are no BDB log files to backup in the " + fromdir + " directory."); } for (int i = 0; i < fileSet.length; i++) @@ -273,7 +273,7 @@ public class BDBBackup catch (IOException ioEx) { // Rethrow this as a runtime exception, as something strange has happened. - throw new ServerScopedRuntimeException(ioEx); + throw new StoreException(ioEx); } } } @@ -293,7 +293,7 @@ public class BDBBackup long now = System.currentTimeMillis(); if ((now - start) > TIMEOUT) { - throw new ServerScopedRuntimeException("Hot backup script failed to complete in " + (TIMEOUT / 1000) + " seconds."); + throw new StoreException("Hot backup script failed to complete in " + (TIMEOUT / 1000) + " seconds."); } } @@ -312,7 +312,7 @@ public class BDBBackup Throwable cause = re.getCause(); if ((cause != null) && (cause instanceof IOException)) { - throw new ServerScopedRuntimeException(re.getMessage() + " fromDir:" + fromdir + " toDir:" + toDirFile, cause); + throw new StoreException(re.getMessage() + " fromDir:" + fromdir + " toDir:" + toDirFile, cause); } else { @@ -330,7 +330,7 @@ public class BDBBackup catch (IOException e) { // Rethrow this as a runtime exception, as something strange has happened. - throw new ServerScopedRuntimeException(e); + throw new StoreException(e); } } diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAMessageStore.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAMessageStore.java index 0f33dfb325..7f119880b0 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAMessageStore.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAMessageStore.java @@ -35,7 +35,7 @@ import java.util.concurrent.Executors; import org.apache.commons.configuration.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.log4j.Logger; -import org.apache.qpid.server.store.AMQStoreException; +import org.apache.qpid.server.store.StoreException; import org.apache.qpid.server.logging.RootMessageLogger; import org.apache.qpid.server.logging.actors.AbstractActor; import org.apache.qpid.server.logging.actors.CurrentActor; @@ -65,7 +65,6 @@ import com.sleepycat.je.rep.ReplicationNode; import com.sleepycat.je.rep.StateChangeEvent; import com.sleepycat.je.rep.StateChangeListener; import com.sleepycat.je.rep.util.ReplicationGroupAdmin; -import org.apache.qpid.server.util.ServerScopedRuntimeException; public class BDBHAMessageStore extends AbstractBDBMessageStore implements HAMessageStore { @@ -154,7 +153,7 @@ public class BDBHAMessageStore extends AbstractBDBMessageStore implements HAMess if (_coalescingSync && _durability.getLocalSync() == SyncPolicy.SYNC) { - throw new ServerScopedRuntimeException("Coalescing sync cannot be used with master sync policy " + SyncPolicy.SYNC + throw new StoreException("Coalescing sync cannot be used with master sync policy " + SyncPolicy.SYNC + "! Please set highAvailability.coalescingSync to false in store configuration."); } @@ -171,7 +170,7 @@ public class BDBHAMessageStore extends AbstractBDBMessageStore implements HAMess } else { - throw new ServerScopedRuntimeException("BDB HA configuration key not found. Please specify configuration attribute: " + throw new StoreException("BDB HA configuration key not found. Please specify configuration attribute: " + attributeName); } } @@ -350,7 +349,7 @@ public class BDBHAMessageStore extends AbstractBDBMessageStore implements HAMess return members; } - public void removeNodeFromGroup(String nodeName) throws AMQStoreException + public void removeNodeFromGroup(String nodeName) throws StoreException { try { @@ -358,15 +357,15 @@ public class BDBHAMessageStore extends AbstractBDBMessageStore implements HAMess } catch (OperationFailureException ofe) { - throw new AMQStoreException("Failed to remove '" + nodeName + "' from group. " + ofe.getMessage(), ofe); + throw new StoreException("Failed to remove '" + nodeName + "' from group. " + ofe.getMessage(), ofe); } catch (DatabaseException e) { - throw new AMQStoreException("Failed to remove '" + nodeName + "' from group. " + e.getMessage(), e); + throw new StoreException("Failed to remove '" + nodeName + "' from group. " + e.getMessage(), e); } } - public void setDesignatedPrimary(boolean isPrimary) throws AMQStoreException + public void setDesignatedPrimary(boolean isPrimary) throws StoreException { try { @@ -385,7 +384,7 @@ public class BDBHAMessageStore extends AbstractBDBMessageStore implements HAMess } catch (DatabaseException e) { - throw new AMQStoreException("Failed to set '" + _nodeName + "' as designated primary for group. " + e.getMessage(), e); + throw new StoreException("Failed to set '" + _nodeName + "' as designated primary for group. " + e.getMessage(), e); } } @@ -394,7 +393,7 @@ public class BDBHAMessageStore extends AbstractBDBMessageStore implements HAMess return (ReplicatedEnvironment)getEnvironment(); } - public void updateAddress(String nodeName, String newHostName, int newPort) throws AMQStoreException + public void updateAddress(String nodeName, String newHostName, int newPort) throws StoreException { try { @@ -402,12 +401,12 @@ public class BDBHAMessageStore extends AbstractBDBMessageStore implements HAMess } catch (OperationFailureException ofe) { - throw new AMQStoreException("Failed to update address for '" + nodeName + + throw new StoreException("Failed to update address for '" + nodeName + "' with new host " + newHostName + " and new port " + newPort + ". " + ofe.getMessage(), ofe); } catch (DatabaseException e) { - throw new AMQStoreException("Failed to update address for '" + nodeName + + throw new StoreException("Failed to update address for '" + nodeName + "' with new host " + newHostName + " and new port " + newPort + ". " + e.getMessage(), e); } } @@ -455,7 +454,7 @@ public class BDBHAMessageStore extends AbstractBDBMessageStore implements HAMess } catch (InterruptedException e) { - throw new ServerScopedRuntimeException(e); + throw new StoreException(e); } } } diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java index c9c870b996..acff8e2b21 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStore.java @@ -24,12 +24,12 @@ import java.io.File; import org.apache.log4j.Logger; import org.apache.qpid.server.store.MessageStore; +import org.apache.qpid.server.store.StoreException; import org.apache.qpid.server.store.StoreFuture; import com.sleepycat.je.DatabaseException; import com.sleepycat.je.Environment; import com.sleepycat.je.EnvironmentConfig; -import org.apache.qpid.server.util.ServerScopedRuntimeException; /** * BDBMessageStore implements a persistent {@link MessageStore} using the BDB high performance log. @@ -87,7 +87,7 @@ public class BDBMessageStore extends AbstractBDBMessageStore } catch (InterruptedException e) { - throw new ServerScopedRuntimeException(e); + throw new StoreException(e); } super.closeInternal(); diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/CommitThreadWrapper.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/CommitThreadWrapper.java index 92c4259051..1f05dca41a 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/CommitThreadWrapper.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/CommitThreadWrapper.java @@ -25,13 +25,13 @@ import java.util.concurrent.ConcurrentLinkedQueue; import java.util.concurrent.atomic.AtomicBoolean; import org.apache.log4j.Logger; +import org.apache.qpid.server.store.StoreException; import org.apache.qpid.server.store.StoreFuture; import com.sleepycat.je.CheckpointConfig; import com.sleepycat.je.DatabaseException; import com.sleepycat.je.Environment; import com.sleepycat.je.Transaction; -import org.apache.qpid.server.util.ServerScopedRuntimeException; public class CommitThreadWrapper { @@ -140,7 +140,7 @@ public class CommitThreadWrapper } catch (InterruptedException e) { - throw new ServerScopedRuntimeException(e); + throw new StoreException(e); } } diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/FieldTableEncoding.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/FieldTableEncoding.java index b8984c42ca..e3cbeccd6e 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/FieldTableEncoding.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/FieldTableEncoding.java @@ -25,7 +25,7 @@ import com.sleepycat.bind.tuple.TupleOutput; import com.sleepycat.je.DatabaseException; import org.apache.qpid.framing.FieldTable; -import org.apache.qpid.server.util.ServerScopedRuntimeException; +import org.apache.qpid.server.store.StoreException; import java.io.ByteArrayInputStream; import java.io.DataInputStream; @@ -56,7 +56,7 @@ public class FieldTableEncoding } catch (IOException e) { - throw new ServerScopedRuntimeException(e); + throw new StoreException(e); } } diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/ConfiguredObjectBinding.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/ConfiguredObjectBinding.java index aa2aa2e2a3..a408732e2f 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/ConfiguredObjectBinding.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/tuple/ConfiguredObjectBinding.java @@ -29,7 +29,7 @@ import org.apache.qpid.server.store.ConfiguredObjectRecord; import com.sleepycat.bind.tuple.TupleBinding; import com.sleepycat.bind.tuple.TupleInput; import com.sleepycat.bind.tuple.TupleOutput; -import org.apache.qpid.server.util.ServerScopedRuntimeException; +import org.apache.qpid.server.store.StoreException; import org.codehaus.jackson.JsonGenerationException; import org.codehaus.jackson.map.JsonMappingException; import org.codehaus.jackson.map.ObjectMapper; @@ -64,7 +64,7 @@ public class ConfiguredObjectBinding extends TupleBinding<ConfiguredObjectRecord catch (IOException e) { //should never happen - throw new ServerScopedRuntimeException(e); + throw new StoreException(e); } } @@ -80,15 +80,15 @@ public class ConfiguredObjectBinding extends TupleBinding<ConfiguredObjectRecord } catch (JsonMappingException e) { - throw new ServerScopedRuntimeException(e); + throw new StoreException(e); } catch (JsonGenerationException e) { - throw new ServerScopedRuntimeException(e); + throw new StoreException(e); } catch (IOException e) { - throw new ServerScopedRuntimeException(e); + throw new StoreException(e); } } diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom4To5.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom4To5.java index 4cb70c1486..87f8afde4a 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom4To5.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom4To5.java @@ -40,6 +40,7 @@ import org.apache.qpid.framing.ContentHeaderBody; import org.apache.qpid.framing.FieldTable; import org.apache.qpid.framing.abstraction.MessagePublishInfo; import org.apache.qpid.server.protocol.v0_8.MessageMetaData; +import org.apache.qpid.server.store.StoreException; import org.apache.qpid.server.store.StorableMessageMetaData; import org.apache.qpid.server.store.berkeleydb.AMQShortStringEncoding; import org.apache.qpid.server.store.berkeleydb.FieldTableEncoding; @@ -54,7 +55,6 @@ import com.sleepycat.je.Database; import com.sleepycat.je.DatabaseEntry; import com.sleepycat.je.Environment; import com.sleepycat.je.Transaction; -import org.apache.qpid.server.util.ServerScopedRuntimeException; public class UpgradeFrom4To5 extends AbstractStoreUpgrade { @@ -254,7 +254,7 @@ public class UpgradeFrom4To5 extends AbstractStoreUpgrade } else { - throw new ServerScopedRuntimeException("Unable is aborted!"); + throw new StoreException("Unable is aborted!"); } } } diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom5To6.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom5To6.java index bba9dbaa74..9b1ab7057b 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom5To6.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom5To6.java @@ -45,6 +45,7 @@ import org.apache.qpid.server.model.LifetimePolicy; import org.apache.qpid.server.model.Queue; import org.apache.qpid.server.model.UUIDGenerator; import org.apache.qpid.server.queue.QueueArgumentsConverter; +import org.apache.qpid.server.store.StoreException; import org.apache.qpid.server.store.berkeleydb.AMQShortStringEncoding; import org.apache.qpid.server.store.berkeleydb.FieldTableEncoding; import org.apache.qpid.server.util.MapJsonSerializer; @@ -61,7 +62,6 @@ import com.sleepycat.je.Environment; import com.sleepycat.je.LockMode; import com.sleepycat.je.OperationStatus; import com.sleepycat.je.Transaction; -import org.apache.qpid.server.util.ServerScopedRuntimeException; public class UpgradeFrom5To6 extends AbstractStoreUpgrade { @@ -242,7 +242,7 @@ public class UpgradeFrom5To6 extends AbstractStoreUpgrade return; case ABORT: _logger.error(message); - throw new ServerScopedRuntimeException("Unable to upgrade message " + messageId); + throw new StoreException("Unable to upgrade message " + messageId); } } @@ -596,7 +596,7 @@ public class UpgradeFrom5To6 extends AbstractStoreUpgrade OperationStatus status = database.put(txn, key, value); if (status != OperationStatus.SUCCESS) { - throw new ServerScopedRuntimeException("Cannot add record into " + database.getDatabaseName() + ":" + status); + throw new StoreException("Cannot add record into " + database.getDatabaseName() + ":" + status); } } diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom6To7.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom6To7.java index de25c3a6d2..ce00fd1a48 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom6To7.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom6To7.java @@ -27,7 +27,7 @@ import com.sleepycat.je.DatabaseConfig; import com.sleepycat.je.DatabaseEntry; import com.sleepycat.je.Environment; import com.sleepycat.je.OperationStatus; -import org.apache.qpid.server.util.ServerScopedRuntimeException; +import org.apache.qpid.server.store.StoreException; public class UpgradeFrom6To7 extends AbstractStoreUpgrade { @@ -53,7 +53,7 @@ public class UpgradeFrom6To7 extends AbstractStoreUpgrade OperationStatus status = versionDb.put(null, key, value); if (status != OperationStatus.SUCCESS) { - throw new ServerScopedRuntimeException("Error initialising config version: " + status); + throw new StoreException("Error initialising config version: " + status); } } diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/Upgrader.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/Upgrader.java index be6bce4d46..4d536a2f95 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/Upgrader.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/Upgrader.java @@ -24,6 +24,7 @@ import com.sleepycat.je.Cursor; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; +import org.apache.qpid.server.store.StoreException; import org.apache.qpid.server.store.berkeleydb.AbstractBDBMessageStore; import com.sleepycat.bind.tuple.IntegerBinding; @@ -34,7 +35,6 @@ import com.sleepycat.je.DatabaseEntry; import com.sleepycat.je.DatabaseException; import com.sleepycat.je.Environment; import com.sleepycat.je.OperationStatus; -import org.apache.qpid.server.util.ServerScopedRuntimeException; public class Upgrader { @@ -75,7 +75,7 @@ public class Upgrader int version = getSourceVersion(versionDb); if(version > AbstractBDBMessageStore.VERSION) { - throw new ServerScopedRuntimeException("Database version " + version + throw new StoreException("Database version " + version + " is higher than the most recent known version: " + AbstractBDBMessageStore.VERSION); } @@ -150,27 +150,27 @@ public class Upgrader } catch (ClassNotFoundException e) { - throw new ServerScopedRuntimeException("Unable to upgrade BDB data store from version " + fromVersion + " to version" + throw new StoreException("Unable to upgrade BDB data store from version " + fromVersion + " to version" + toVersion, e); } catch (NoSuchMethodException e) { - throw new ServerScopedRuntimeException("Unable to upgrade BDB data store from version " + fromVersion + " to version" + throw new StoreException("Unable to upgrade BDB data store from version " + fromVersion + " to version" + toVersion, e); } catch (InvocationTargetException e) { - throw new ServerScopedRuntimeException("Unable to upgrade BDB data store from version " + fromVersion + " to version" + throw new StoreException("Unable to upgrade BDB data store from version " + fromVersion + " to version" + toVersion, e); } catch (InstantiationException e) { - throw new ServerScopedRuntimeException("Unable to upgrade BDB data store from version " + fromVersion + " to version" + throw new StoreException("Unable to upgrade BDB data store from version " + fromVersion + " to version" + toVersion, e); } catch (IllegalAccessException e) { - throw new ServerScopedRuntimeException("Unable to upgrade BDB data store from version " + fromVersion + " to version" + throw new StoreException("Unable to upgrade BDB data store from version " + fromVersion + " to version" + toVersion, e); } } |
