Merge pull request #53 from Havret/fix-msg-priority
AMQNET-634: Use 4 as default msg priority
diff --git a/src/NMS.AMQP/NmsMessageProducer.cs b/src/NMS.AMQP/NmsMessageProducer.cs
index 3e29c78..e1b40ba 100644
--- a/src/NMS.AMQP/NmsMessageProducer.cs
+++ b/src/NMS.AMQP/NmsMessageProducer.cs
@@ -34,7 +34,7 @@
private MsgDeliveryMode deliveryMode = MsgDeliveryMode.Persistent;
private TimeSpan timeToLive = NMSConstants.defaultTimeToLive;
private TimeSpan requestTimeout;
- private MsgPriority priority = NMSConstants.defaultPriority;
+ private MsgPriority priority = NMSConstants.defaultPriority - 1;
private bool disableMessageId;
private bool disableMessageTimestamp;
diff --git a/test/Apache-NMS-AMQP-Test/Integration/ProducerIntegrationTest.cs b/test/Apache-NMS-AMQP-Test/Integration/ProducerIntegrationTest.cs
index ac9f351..18e0b9e 100644
--- a/test/Apache-NMS-AMQP-Test/Integration/ProducerIntegrationTest.cs
+++ b/test/Apache-NMS-AMQP-Test/Integration/ProducerIntegrationTest.cs
@@ -399,6 +399,37 @@
testPeer.WaitForAllMatchersToComplete(1000);
}
}
+
+ [Test, Timeout(20_000)]
+ public void TestMessagesAreProducedWithProperDefaultPriorityWhenNoPrioritySpecified()
+ {
+ using (TestAmqpPeer testPeer = new TestAmqpPeer())
+ {
+ IConnection connection = EstablishConnection(testPeer);
+ testPeer.ExpectBegin();
+ testPeer.ExpectSenderAttach();
+
+ ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge);
+ IQueue destination = session.GetQueue("myQueue");
+ IMessageProducer producer = session.CreateProducer(destination);
+
+ byte priority = 4;
+
+ testPeer.ExpectTransfer(m => Assert.AreEqual(priority, m.Header.Priority));
+ testPeer.ExpectClose();
+
+ ITextMessage message = session.CreateTextMessage();
+ Assert.AreEqual(MsgPriority.BelowNormal, message.NMSPriority);
+
+ producer.Send(message);
+
+ Assert.AreEqual((MsgPriority) priority, message.NMSPriority);
+
+ connection.Close();
+
+ testPeer.WaitForAllMatchersToComplete(1000);
+ }
+ }
[Test, Timeout(20_000)]
public void TestNonDefaultPriorityProducesMessagesWithPriorityFieldAndSetsNMSPriority()
diff --git a/test/Apache-NMS-AMQP-Test/NmsMessageProducerTest.cs b/test/Apache-NMS-AMQP-Test/NmsMessageProducerTest.cs
index f0f139b..4c83e7a 100644
--- a/test/Apache-NMS-AMQP-Test/NmsMessageProducerTest.cs
+++ b/test/Apache-NMS-AMQP-Test/NmsMessageProducerTest.cs
@@ -77,7 +77,7 @@
public void TestPriorityConfiguration()
{
IMessageProducer producer = session.CreateProducer(null);
- Assert.AreEqual(NMSConstants.defaultPriority, producer.Priority);
+ Assert.AreEqual(MsgPriority.BelowNormal, producer.Priority);
producer.Priority = MsgPriority.Highest;
Assert.AreEqual(MsgPriority.Highest, producer.Priority);
}