summaryrefslogtreecommitdiff
path: root/java/broker/src/main
diff options
context:
space:
mode:
authorMartin Ritchie <ritchiem@apache.org>2009-04-01 16:26:50 +0000
committerMartin Ritchie <ritchiem@apache.org>2009-04-01 16:26:50 +0000
commit74d454728cb34f3f492b81c98347375b4426a8ee (patch)
tree72b8e73e2c113384722811e12b73cc9a96235247 /java/broker/src/main
parent08308d4404c46de8a2939ca420cc57f8fc6227eb (diff)
downloadqpid-python-74d454728cb34f3f492b81c98347375b4426a8ee.tar.gz
QPID-1783 : Relax MessageFactory to allow out of order recovery
Relax MessageFactory to allow out of order. Updated test git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@760952 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src/main')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/MessageFactory.java12
1 files changed, 4 insertions, 8 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/MessageFactory.java b/java/broker/src/main/java/org/apache/qpid/server/queue/MessageFactory.java
index 9924733178..10e7dca18f 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/MessageFactory.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/MessageFactory.java
@@ -85,17 +85,13 @@ public class MessageFactory
throw new RuntimeException("Unable to create message by ID when not recovering");
}
- long currentID = _messageId.get();
- if (messageId <= currentID)
+ if (messageId < 0L)
{
- throw new RuntimeException("Message IDs can only increase current id is:"
- + currentID + ". Requested:" + messageId);
- }
- else
- {
- _messageId.set(messageId);
+ throw new RuntimeException("Message IDs can only be positive. Requested:" + messageId);
}
+ _messageId.set((int)Math.max(messageId, _messageId.get()));
+
return createNextMessage(messageId, transactionLog, true);
}