[jboss-cvs] JBoss Messaging SVN: r4753 - in branches/Branch_JBMESSAGING-1303: tests/src/org/jboss/messaging/tests/unit/core/server/impl and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jul 30 12:16:18 EDT 2008
Author: jmesnil
Date: 2008-07-30 12:16:18 -0400 (Wed, 30 Jul 2008)
New Revision: 4753
Modified:
branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/server/impl/MessageReferenceImpl.java
branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/server/impl/MessageReferenceImplTest.java
Log:
* in cancel() and sendToDLQ, set the destination of the copied message to the DLQ address so that it is properly routed when the tx commits
Modified: branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/server/impl/MessageReferenceImpl.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/server/impl/MessageReferenceImpl.java 2008-07-30 16:04:15 UTC (rev 4752)
+++ branches/Branch_JBMESSAGING-1303/src/main/org/jboss/messaging/core/server/impl/MessageReferenceImpl.java 2008-07-30 16:16:18 UTC (rev 4753)
@@ -130,8 +130,6 @@
persistenceManager.updateDeliveryCount(this);
}
- queue.referenceCancelled();
-
int maxDeliveries = queueSettingsRepository.getMatch(queue.getName().toString()).getMaxDeliveryAttempts();
if (maxDeliveries > 0 && deliveryCount >= maxDeliveries)
@@ -150,6 +148,7 @@
}
ServerMessage copyMessage = makeCopyForDLQOrExpiry(false, persistenceManager);
+ copyMessage.setDestination(binding.getAddress());
tx.addMessage(copyMessage);
@@ -169,7 +168,9 @@
return false;
}
else
- {
+ {
+ queue.referenceCancelled();
+
return true;
}
}
@@ -179,20 +180,21 @@
HierarchicalRepository<QueueSettings> queueSettingsRepository)
throws Exception
{
- SimpleString DLQ = queueSettingsRepository.getMatch(queue.getName().toString()).getDLQ();
+ SimpleString dlq = queueSettingsRepository.getMatch(queue.getName().toString()).getDLQ();
Transaction tx = new TransactionImpl(persistenceManager, postOffice);
- if (DLQ != null)
+ if (dlq != null)
{
- Binding binding = postOffice.getBinding(DLQ);
+ Binding binding = postOffice.getBinding(dlq);
if (binding == null)
{
- binding = postOffice.addBinding(DLQ, DLQ, null, true, false);
+ binding = postOffice.addBinding(dlq, dlq, null, true, false);
}
ServerMessage copyMessage = makeCopyForDLQOrExpiry(false, persistenceManager);
+ copyMessage.setDestination(binding.getAddress());
tx.addMessage(copyMessage);
@@ -227,7 +229,7 @@
tx.addMessage(copyMessage);
- tx.addAcknowledgement(this);
+ tx.addAcknowledgement(this);
}
else
{
Modified: branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/server/impl/MessageReferenceImplTest.java
===================================================================
--- branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/server/impl/MessageReferenceImplTest.java 2008-07-30 16:04:15 UTC (rev 4752)
+++ branches/Branch_JBMESSAGING-1303/tests/src/org/jboss/messaging/tests/unit/core/server/impl/MessageReferenceImplTest.java 2008-07-30 16:16:18 UTC (rev 4753)
@@ -85,7 +85,7 @@
MessageReferenceImpl messageReference = new DummyMessageReference(serverMessage, queue);
SimpleString queueName = new SimpleString("queueName");
queue.referenceCancelled();
- EasyMock.expect(queue.getName()).andReturn(queueName);
+ EasyMock.expect(queue.getName()).andStubReturn(queueName);
EasyMock.expect(repos.getMatch(queueName.toString())).andStubReturn(queueSettings);
EasyMock.expect(serverMessage.isDurable()).andStubReturn(true);
EasyMock.expect(serverMessage.getMessageID()).andStubReturn(999l);
@@ -107,7 +107,7 @@
MessageReferenceImpl messageReference = new DummyMessageReference(serverMessage, queue);
SimpleString queueName = new SimpleString("queueName");
queue.referenceCancelled();
- EasyMock.expect(queue.getName()).andReturn(queueName);
+ EasyMock.expect(queue.getName()).andStubReturn(queueName);
EasyMock.expect(repos.getMatch(queueName.toString())).andStubReturn(queueSettings);
EasyMock.expect(serverMessage.isDurable()).andStubReturn(false);
EasyMock.expect(serverMessage.getMessageID()).andStubReturn(999l);
@@ -132,7 +132,6 @@
MessageReferenceImpl messageReference = new DummyMessageReference(serverMessage, queue);
messageReference.setDeliveryCount(1);
SimpleString queueName = new SimpleString("queueName");
- queue.referenceCancelled();
queue.referenceAcknowledged(messageReference);
EasyMock.expect(queue.getName()).andStubReturn(queueName);
EasyMock.expect(repos.getMatch(queueName.toString())).andStubReturn(queueSettings);
@@ -169,7 +168,6 @@
MessageReferenceImpl messageReference = new DummyMessageReference(serverMessage, queue);
messageReference.setDeliveryCount(1);
SimpleString queueName = new SimpleString("queueName");
- queue.referenceCancelled();
queue.referenceAcknowledged(messageReference);
EasyMock.expect(queue.getName()).andStubReturn(queueName);
EasyMock.expect(repos.getMatch(queueName.toString())).andStubReturn(queueSettings);
More information about the jboss-cvs-commits
mailing list