Author: chirino Date: Thu Sep 6 15:14:34 2007 New Revision: 573397 URL: http://svn.apache.org/viewvc?rev=573397&view=rev Log: Fix for https://issues.apache.org/activemq/browse/AMQ-1382... if the broker.persistent==false then we should not create any files, not even for the Temp Store. Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/TopicSubscription.java Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java?rev=573397&r1=573396&r2=573397&view=diff ============================================================================== --- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java (original) +++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/BrokerService.java Thu Sep 6 15:14:34 2007 @@ -1067,6 +1067,11 @@ */ public synchronized Store getTempDataStore() { if (tempDataStore == null) { + + if (!isPersistent()) { + return null; + } + boolean result = true; boolean empty = true; try { Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java?rev=573397&r1=573396&r2=573397&view=diff ============================================================================== --- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java (original) +++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/Queue.java Thu Sep 6 15:14:34 2007 @@ -118,7 +118,7 @@ this.memoryUsage = new MemoryUsage(systemUsage.getMemoryUsage(), destination.toString()); this.memoryUsage.setUsagePortion(1.0f); this.store = store; - if (destination.isTemporary()) { + if (destination.isTemporary() || tmpStore==null ) { this.messages = new VMPendingMessageCursor(); } else { this.messages = new StoreQueueCursor(this, tmpStore); Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/TopicSubscription.java URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/TopicSubscription.java?rev=573397&r1=573396&r2=573397&view=diff ============================================================================== --- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/TopicSubscription.java (original) +++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/TopicSubscription.java Thu Sep 6 15:14:34 2007 @@ -26,6 +26,7 @@ import org.apache.activemq.broker.ConnectionContext; import org.apache.activemq.broker.region.cursors.FilePendingMessageCursor; import org.apache.activemq.broker.region.cursors.PendingMessageCursor; +import org.apache.activemq.broker.region.cursors.VMPendingMessageCursor; import org.apache.activemq.broker.region.policy.MessageEvictionStrategy; import org.apache.activemq.broker.region.policy.OldestMessageEvictionStrategy; import org.apache.activemq.command.ConsumerControl; @@ -36,6 +37,7 @@ import org.apache.activemq.command.MessageDispatchNotification; import org.apache.activemq.command.MessagePull; import org.apache.activemq.command.Response; +import org.apache.activemq.kaha.Store; import org.apache.activemq.transaction.Synchronization; import org.apache.activemq.usage.SystemUsage; import org.apache.commons.logging.Log; @@ -66,8 +68,12 @@ super(broker, context, info); this.usageManager = usageManager; String matchedName = "TopicSubscription:" + CURSOR_NAME_COUNTER.getAndIncrement() + "[" + info.getConsumerId().toString() + "]"; - this.matched = new FilePendingMessageCursor(matchedName, broker.getTempDataStore()); - + Store tempDataStore = broker.getTempDataStore(); + if (tempDataStore != null) { + this.matched = new FilePendingMessageCursor(matchedName, tempDataStore); + } else { + this.matched = new VMPendingMessageCursor(); + } } public void init() throws Exception {