You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ra...@apache.org on 2007/10/22 10:38:22 UTC
svn commit: r587033 - in
/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region:
./ cursors/
Author: rajdavies
Date: Mon Oct 22 01:38:22 2007
New Revision: 587033
URL: http://svn.apache.org/viewvc?rev=587033&view=rev
Log:
Fix for https://issues.apache.org/activemq/browse/AMQ-1449
Modified:
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/AbstractPendingMessageCursor.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/FilePendingMessageCursor.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/PendingMessageCursor.java
activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/VMPendingMessageCursor.java
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java?rev=587033&r1=587032&r2=587033&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/DurableTopicSubscription.java Mon Oct 22 01:38:22 2007
@@ -128,7 +128,7 @@
} else {
redeliveredMessages.put(node.getMessageId(), Integer.valueOf(1));
}
- if (keepDurableSubsActive) {
+ if (keepDurableSubsActive&& pending.isTransient()) {
synchronized (pending) {
pending.addMessageFirst(node);
}
@@ -137,7 +137,7 @@
}
iter.remove();
}
- if (!keepDurableSubsActive) {
+ if (!keepDurableSubsActive && pending.isTransient()) {
synchronized (pending) {
try {
pending.reset();
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/AbstractPendingMessageCursor.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/AbstractPendingMessageCursor.java?rev=587033&r1=587032&r2=587033&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/AbstractPendingMessageCursor.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/AbstractPendingMessageCursor.java Mon Oct 22 01:38:22 2007
@@ -234,6 +234,10 @@
audit= new ActiveMQMessageAudit(maxAuditDepth,maxProducersToAudit);
}
}
+
+ public boolean isTransient() {
+ return false;
+ }
protected synchronized boolean isDuplicate(MessageId messageId) {
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/FilePendingMessageCursor.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/FilePendingMessageCursor.java?rev=587033&r1=587032&r2=587033&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/FilePendingMessageCursor.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/FilePendingMessageCursor.java Mon Oct 22 01:38:22 2007
@@ -280,6 +280,10 @@
}
}
}
+
+ public boolean isTransient() {
+ return true;
+ }
protected boolean isSpaceInMemoryList() {
return hasSpace() && isDiskListEmpty();
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/PendingMessageCursor.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/PendingMessageCursor.java?rev=587033&r1=587032&r2=587033&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/PendingMessageCursor.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/PendingMessageCursor.java Mon Oct 22 01:38:22 2007
@@ -241,6 +241,12 @@
* @param enableAudit the enableAudit to set
*/
public void setEnableAudit(boolean enableAudit);
+
+ /**
+ * @return true if the underlying state of this cursor
+ * disappears when the broker shuts down
+ */
+ public boolean isTransient();
}
Modified: activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/VMPendingMessageCursor.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/VMPendingMessageCursor.java?rev=587033&r1=587032&r2=587033&view=diff
==============================================================================
--- activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/VMPendingMessageCursor.java (original)
+++ activemq/trunk/activemq-core/src/main/java/org/apache/activemq/broker/region/cursors/VMPendingMessageCursor.java Mon Oct 22 01:38:22 2007
@@ -142,4 +142,8 @@
public LinkedList<MessageReference> pageInList(int maxItems) {
return list;
}
+
+ public boolean isTransient() {
+ return true;
+ }
}