diff options
Diffstat (limited to 'java/broker/src/main')
| -rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java b/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java index 627f059c53..ae4f6f3796 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java +++ b/java/broker/src/main/java/org/apache/qpid/server/store/DerbyMessageStore.java @@ -520,6 +520,22 @@ public class DerbyMessageStore implements MessageStore { CurrentActor.get().message(_logSubject,MessageStoreMessages.CLOSED()); _closed.getAndSet(true); + + try + { + DriverManager.getConnection(_connectionURL + ";shutdown=true"); + } + catch (SQLException e) + { + if (e.getSQLState().equalsIgnoreCase("XJ015")) + { + //XJ015 is expected and represents a clean shutdown, do nothing. + } + else + { + _logger.error("Exception whilst shutting down the store: " + e); + } + } } public StoredMessage addMessage(StorableMessageMetaData metaData) |
