From 7af5b0b55ccdd4f5c65dc19905273680d6e1a79e Mon Sep 17 00:00:00 2001 From: Martin Ritchie Date: Fri, 7 Aug 2009 18:03:56 +0000 Subject: QPID-2002 : MessageStore Logging updates to include queue counts from persistent stores git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@802113 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/server/store/DerbyMessageStore.java | 33 +++++++++++++++------- 1 file changed, 23 insertions(+), 10 deletions(-) (limited to 'java/broker/src') 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 90de1aa8fa..c014739324 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 @@ -95,6 +95,7 @@ public class DerbyMessageStore extends AbstractMessageStore private String _connectionURL; + Map _queueRecoveries = new TreeMap(); private static final String CREATE_DB_VERSION_TABLE = "CREATE TABLE "+DB_VERSION_TABLE_NAME+" ( version int not null )"; @@ -380,6 +381,11 @@ public class DerbyMessageStore extends AbstractMessageStore } queueMap.put(queueNameShortString,q); + + CurrentActor.get().message(_logSubject,MessageStoreMessages.MST_1004(String.valueOf(q.getName()), true)); + + //Record that we have a queue for recovery + _queueRecoveries.put(new AMQShortString(queueName), 0); } return queueMap; @@ -1378,7 +1384,6 @@ public class DerbyMessageStore extends AbstractMessageStore Map msgMap = new HashMap(); List actions = new ArrayList(); - Map queueRecoveries = new TreeMap(); final boolean inLocaltran = inTran(context); Connection conn = null; @@ -1436,17 +1441,14 @@ public class DerbyMessageStore extends AbstractMessageStore _logger.debug("On recovery, delivering " + message.getMessageId() + " to " + queue.getName()); } - if (_logger.isInfoEnabled()) + Integer count = _queueRecoveries.get(queueName); + if (count == null) { - Integer count = queueRecoveries.get(queueName); - if (count == null) - { - count = 0; - } - - queueRecoveries.put(queueName, ++count); + count = 0; } + _queueRecoveries.put(queueName, ++count); + actions.add(new ProcessAction(queue, context, message)); } @@ -1472,8 +1474,19 @@ public class DerbyMessageStore extends AbstractMessageStore if (_logger.isInfoEnabled()) { - _logger.info("Recovered message counts: " + queueRecoveries); + _logger.info("Recovered message counts: " + _queueRecoveries); } + + for(Map.Entry entry : _queueRecoveries.entrySet()) + { + CurrentActor.get().message(_logSubject, MessageStoreMessages.MST_1005(entry.getValue(), String.valueOf(entry.getKey()))); + + CurrentActor.get().message(_logSubject, MessageStoreMessages.MST_1006(String.valueOf(entry.getKey()), true)); + } + + // Free the memory + _queueRecoveries = null; + } private Connection getConnection(final StoreContext context) -- cgit v1.2.1