From 1629774d27502f1d9c5d5e889beeb6c845fc0775 Mon Sep 17 00:00:00 2001 From: James Strachan Date: Wed, 15 Mar 2006 16:02:20 +0000 Subject: [PATCH] added logging if we can't properly cast things when closing things down git-svn-id: https://svn.apache.org/repos/asf/incubator/activemq/trunk@386099 13f79535-47bb-0310-9956-ffa450edef68 --- .../memory/MemoryPersistenceAdapter.java | 23 +++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/activemq-core/src/main/java/org/apache/activemq/store/memory/MemoryPersistenceAdapter.java b/activemq-core/src/main/java/org/apache/activemq/store/memory/MemoryPersistenceAdapter.java index e0093af68d..be70419b01 100755 --- a/activemq-core/src/main/java/org/apache/activemq/store/memory/MemoryPersistenceAdapter.java +++ b/activemq-core/src/main/java/org/apache/activemq/store/memory/MemoryPersistenceAdapter.java @@ -29,6 +29,8 @@ import org.apache.activemq.store.MessageStore; import org.apache.activemq.store.PersistenceAdapter; import org.apache.activemq.store.TopicMessageStore; import org.apache.activemq.store.TransactionStore; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap; @@ -38,6 +40,7 @@ import edu.emory.mathcs.backport.java.util.concurrent.ConcurrentHashMap; * @version $Revision: 1.4 $ */ public class MemoryPersistenceAdapter implements PersistenceAdapter { + private static final Log log = LogFactory.getLog(MemoryPersistenceAdapter.class); MemoryTransactionStore transactionStore; ConcurrentHashMap topics = new ConcurrentHashMap(); @@ -111,12 +114,16 @@ public class MemoryPersistenceAdapter implements PersistenceAdapter { public void deleteAllMessages() throws IOException { for (Iterator iter = topics.values().iterator(); iter.hasNext();) { - MemoryMessageStore store = (MemoryMessageStore) iter.next(); - store.delete(); + MemoryMessageStore store = asMemoryMessageStore(iter.next()); + if (store != null) { + store.delete(); + } } for (Iterator iter = queues.values().iterator(); iter.hasNext();) { - MemoryMessageStore store = (MemoryMessageStore) iter.next(); - store.delete(); + MemoryMessageStore store = asMemoryMessageStore(iter.next()); + if (store != null) { + store.delete(); + } } transactionStore.delete(); } @@ -129,4 +136,12 @@ public class MemoryPersistenceAdapter implements PersistenceAdapter { this.useExternalMessageReferences = useExternalMessageReferences; } + protected MemoryMessageStore asMemoryMessageStore(Object value) { + if (value instanceof MemoryMessageStore) { + return (MemoryMessageStore) value; + } + log.warn("Expected an instance of MemoryMessageStore but was: " + value); + return null; + } + }