Can you turn on DEBUG level logging for log4net and show what the log
statements output?

On Tue, Oct 25, 2011 at 4:35 AM, ColinA <[email protected]>wrote:

> I'm having a bit of trouble while testing how resilient Rhino Queues is to
> failures - most likely it is something I am doing wrong or not
> understanding! Basically, I am intermittently receiving the same message
> multiple times, even though it has previously been received within a
> transaction.
>
> Here is the code for a console application that I wrote just to play
> around:
>
> using System;
>> using System.Collections.Generic;
>> using System.Linq;
>> using System.Net;
>> using System.Text;
>> using System.Transactions;
>>
>> using Rhino.Queues;
>>
>> namespace Test
>> {
>>     class Program : IDisposable
>>     {
>>         private static QueueManager receiver;
>>         private static QueueManager sender;
>>
>>         static void Main(string[] args)
>>         {
>>             var receiver = new QueueManager(new
>> IPEndPoint(IPAddress.Loopback, 4545), "receiver.esent");
>>             receiver.CreateQueues("test");
>>             receiver.Start();
>>
>>             var sender = new QueueManager(new
>> IPEndPoint(IPAddress.Loopback, 4546), "sender.esent");
>>             sender.Start();
>>
>>             using (var tx = new TransactionScope())
>>             {
>>                 sender.Send(new Uri("rhino.queues://localhost:4545/test"),
>>                     new MessagePayload
>>                     {
>>                         Data = Encoding.ASCII.GetBytes("Test message")
>>                     });
>>
>>                 tx.Complete();
>>             }
>>
>>             while (true)
>>             {
>>                 using (var tx = new TransactionScope())
>>                 {
>>                     try
>>                     {
>>                         var msg = receiver.Receive("test", new TimeSpan(0,
>> 0, 5));
>>
>>
>> Console.WriteLine(msg.Id.MessageIdentifier.ToString() + ": " +
>> Encoding.ASCII.GetString(msg.Data));
>>
>>                         tx.Complete();
>>
>>                         Console.WriteLine("\tTX complete");
>>                     }
>>                     catch (TimeoutException)
>>                     {
>>                         Console.WriteLine("\tTimeout");
>>                         break;
>>                     }
>>                 }
>>                 Console.WriteLine("\tTX end");
>>                 System.Diagnostics.Process.GetCurrentProcess().Kill();
>>             }
>>
>>             Console.WriteLine("Press Enter to exit");
>>             Console.ReadLine();
>>         }
>>
>>         public void Dispose()
>>         {
>>             if (sender != null)
>>                 sender.Dispose();
>>
>>             if (receiver != null)
>>                 receiver.Dispose();
>>         }
>>     }
>> }
>>
>
> First, I run it once, with the 
> System.Diagnostics.Process.GetCurrentProcess().Kill();
> uncommented. Next I comment out the 
> System.Diagnostics.Process.GetCurrentProcess().Kill();
> and run it again.
>
> So, here is my understanding of what happened on the first run:
>
>    1. One message was sent, and was received within a transaction
>    2. That transaction completed sucessfully
>    3. The process terminated
>
> And here is my understanding of what *should *happen on the second run:
>
>    1. One message is sent, and will be received within a transaction
>    2. Thre are no moe messages left to receive, so we will timeout and
>    exit gracefully
>
> However, *sometimes *on the second run I am receiving both the new
> message, *and *the message that I received on the previous run.
>
> Is this the expected behaviour?
>
> Thanks!
>
> Colin
>
> --
> You received this message because you are subscribed to the Google Groups
> "Rhino Tools Dev" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/rhino-tools-dev/-/Q4YMdLpCo60J.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/rhino-tools-dev?hl=en.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en.

Reply via email to