﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Ayende Rahien commented on Rhino Queues, Take 6</title><description>Dev,
  
Please post this to the mailing list
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment28</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment28</guid><pubDate>Thu, 23 Apr 2009 18:43:47 GMT</pubDate></item><item><title>Dev commented on Rhino Queues, Take 6</title><description>hi Ayende im doing some tests with the latest src on svn and i have a prob
  
first i start a server with:
  
 using (var tx = new TransactionScope())
  
            {
  
                receiver = new QueueManager(new IPEndPoint(IPAddress.Loopback, 4545), "werwer.esent");
  
                receiver.CreateQueues("uno");
  
                tx.Complete();                
  
            }
  
  
 while (true)
  
            {
  
                //System.Threading.Thread.Sleep(1000);
  
                using (var tx = new TransactionScope())
  
                {
  
                       var msg = receiver.Receive("uno", null, new TimeSpan(0,0,10));                      
  
                        if (msg != null)
  
                        {
  
                            Console.WriteLine(Encoding.ASCII.GetString(msg.Data) +"   " + msg.Id);                            
  
                        }
  
  
  
now in a client i do:
  
            using (var tx = new TransactionScope())
  
            {
  
                sender = new QueueManager(new System.Net.IPEndPoint(IPAddress.Loopback, 4546), "client.esent");
  
  
                tx.Complete();
  
            }
  
  
using (var tx = new TransactionScope())
  
           {
  
            sender.Send(new Uri("rhino.queues://localhost:4545/uno"),
  
                        new MessagePayload
  
                        {
  
                            Data = Encoding.ASCII.GetBytes("Message "  + x.ToString())
  
                        }
  
              tx.Complete(); 
  
           }
  
  
  
  
                }
  
            }
  
  
  
now, i send one msg and receive one in the server
  
then i run it again and receive 3 times the new msg.
  
  
maybe im missing something there?
  
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment27</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment27</guid><pubDate>Thu, 23 Apr 2009 18:42:26 GMT</pubDate></item><item><title>meisinger commented on Rhino Queues, Take 6</title><description>thanks for the info... guess i am too stuck in the MSMQ world
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment26</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment26</guid><pubDate>Mon, 06 Apr 2009 17:40:02 GMT</pubDate></item><item><title>Ayende Rahien commented on Rhino Queues, Take 6</title><description>Rafal,
  
RSB can run on all of those for a while now.
  
MSMQ 3.0 is supported as well.
  
  
And yes, RQ runs on XP, so that is a positive.
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment25</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment25</guid><pubDate>Sat, 04 Apr 2009 23:44:51 GMT</pubDate></item><item><title>Rafal commented on Rhino Queues, Take 6</title><description>Ayende, as far as I remember Rhino Service Bus required windows 2008 because of some functions available only in MSMQ 4.0. With the introduction of Rhino queues will it work on windows 2003, xp or vista?
  
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment24</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment24</guid><pubDate>Sat, 04 Apr 2009 19:29:15 GMT</pubDate></item><item><title>Ayende Rahien commented on Rhino Queues, Take 6</title><description>Mike,
  
using for receiver - I think you were talking about my post regarding using and ISession.
  
Different things all together.
  
  
No, the receiver get a Func{Messages[], IMessageAcceptance}, which is how it let the rest of the app know about new messages.
  
The event is just to facilitate easier testing.
  
  
The information about the source message is located in the message headers.
  
message.Headers["source"], to be exact.
  
That is beyond the scope of Rhino Queues, it is something that you need to add.
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment23</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment23</guid><pubDate>Sat, 04 Apr 2009 12:52:23 GMT</pubDate></item><item><title>Ayende Rahien commented on Rhino Queues, Take 6</title><description>Rafal,
  
Thanks, I fixed that.
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment22</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment22</guid><pubDate>Sat, 04 Apr 2009 12:49:27 GMT</pubDate></item><item><title>Ayende Rahien commented on Rhino Queues, Take 6</title><description>Frank,
  
I wouldn't call an AVI file a message.
  
And stream is a much better alternative for that.
  
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment21</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment21</guid><pubDate>Sat, 04 Apr 2009 12:47:47 GMT</pubDate></item><item><title>Frank Quednau commented on Rhino Queues, Take 6</title><description>Ayende,
  
With 2GB being arbitrarily large, my customer would beg to differ. They like to send around 4GB avi files in their intranet as if there is no tomorrow. :) Well, no messaging for that one, that project became more of a streaming thing anyway...
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment20</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment20</guid><pubDate>Sat, 04 Apr 2009 12:00:04 GMT</pubDate></item><item><title>Ayende Rahien commented on Rhino Queues, Take 6</title><description>Nathan,
  
Yes, I am using a private build.
  
But I spoke with Laurion, and he said he would add it to the public build
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment19</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment19</guid><pubDate>Sat, 04 Apr 2009 11:31:06 GMT</pubDate></item><item><title>Rafal commented on Rhino Queues, Take 6</title><description>I know it's bad to optimize the code too early, but I think Reciever should be spelled Receiver
  
  
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment18</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment18</guid><pubDate>Sat, 04 Apr 2009 06:21:24 GMT</pubDate></item><item><title>Nathan commented on Rhino Queues, Take 6</title><description>I guess you are using a patched version of the managed Esent API? JetEscrowUpdate doesn't seem to exist on the codeplex version...
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment17</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment17</guid><pubDate>Fri, 03 Apr 2009 22:50:29 GMT</pubDate></item><item><title>meisinger commented on Rhino Queues, Take 6</title><description>interesting... good stuff
  
  
a couple of questions
  
well really one question and one note
  
  
first the note:
  
i noticed in one of your tests that you are newing up a new Reciever object in a "using" statement. didn't you have a post about not too long ago stating that it was bad to do that? just curious
  
  
now the question:
  
i feel like i am missing something when looking at the code
  
i think that i understand that you have to create a Reciever object and handle the CompletedRecievingMessages event in order to know if a message has been sent to the queue or not
  
  
i am missing how or where the information is to send a message back
  
  
is there something in the Message that tells me where the message came from?
  
is that something that i have to add in the Headers?
  
  
hope the question makes sense
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment16</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment16</guid><pubDate>Fri, 03 Apr 2009 20:26:10 GMT</pubDate></item><item><title>Ayende Rahien commented on Rhino Queues, Take 6</title><description>V,
  
One of the planned features is a full stats report from the queue, yes.
  
  
As for why I create my own, the answer is quite simple, whatever is out there doesn't meet the requirements that I have.
  
  
RSB was created to be super simple to use, highly opinionated, developer friendly ESB.
  
RQ was created to be xcopy deployed with load balancing friendliness.
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment15</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment15</guid><pubDate>Fri, 03 Apr 2009 17:50:15 GMT</pubDate></item><item><title>Ayende Rahien commented on Rhino Queues, Take 6</title><description>Rene,
  
Thanks, I fixed that.
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment14</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment14</guid><pubDate>Fri, 03 Apr 2009 17:48:11 GMT</pubDate></item><item><title>V. commented on Rhino Queues, Take 6</title><description>Just finished reading the post... i dont know if I like it yet... lol
  
  
How do you check how many messages are in the queue? Using MSMQ, the operational staff can just check the message count (computer mgmt/services/queues).
  
  
Are you planning to create services to monitor your queues? Maybe add them to the computer mgmt. just like MSMQ...
  
  
I never got why you must create your own stuff... looks like everything else has lots of problems... It's your time, I'm not here to judge. I just would like to have a better understanding of your reasons. Maybe you could write a blog post about that. (;
  
  
A good one woule be a comparison...
  
nServiceBus x Rhino Service Bus x Mass Transit.
  
Rhino Queues x MSMQ x ActiveMQ.
  
  
I know you have some posts about that, but its never enough.
  
  
Keep up the good work.
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment13</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment13</guid><pubDate>Fri, 03 Apr 2009 16:28:32 GMT</pubDate></item><item><title>Rene commented on Rhino Queues, Take 6</title><description>Hi ayende thanks for this code, im trying to run the tests and get an error on the chemaCreator.Create  
  
Error TaggedNotNULL (JET_errTaggedNotNULL, No non-NULL tagged columns)
  
i found that changing 
  
ColumndefGrbit.ColumnNotNULL to ColumndefGrbit.None
  
for columns JET_coltyp.LongText, works fine. im using Windows XP SP3.
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment12</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment12</guid><pubDate>Fri, 03 Apr 2009 16:13:13 GMT</pubDate></item><item><title>Ayende Rahien commented on Rhino Queues, Take 6</title><description>Rafal,
  
subqueues are freely defined, no need to explicitly create them upfront.
  
  
James,
  
Me too, feel free to suggest a better name.
  
  
Yuriy,
  
Talk to MS about that, IPEndpoint is their name.
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment11</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment11</guid><pubDate>Fri, 03 Apr 2009 15:09:13 GMT</pubDate></item><item><title>Ayende Rahien commented on Rhino Queues, Take 6</title><description>Horses,
  
Well, yes. It is limited to 2GB, for more than one reason.
  
I consider this to be arbitrarily large :-)
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment10</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment10</guid><pubDate>Fri, 03 Apr 2009 15:06:26 GMT</pubDate></item><item><title>Ayende Rahien commented on Rhino Queues, Take 6</title><description>Nathan,
  
Not only didn't I do any perf comparisons, I didn't even try to think about perf yet :-)
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment9</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment9</guid><pubDate>Fri, 03 Apr 2009 15:05:22 GMT</pubDate></item><item><title>Yuriy commented on Rhino Queues, Take 6</title><description>I guess TCP communication endpoint should be rather named TcpEndpoint, not IPEndpoint, especially since port numbers have nothing to do with raw IP.
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment8</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment8</guid><pubDate>Fri, 03 Apr 2009 09:43:35 GMT</pubDate></item><item><title>James L commented on Rhino Queues, Take 6</title><description>I look forward to playing with this.  From the code sample, something strikes me right away, the use of the word 'Manager' in classes is a pet hate of mine as it doesn't mean anything.  What does the QueueManager really do?
  
  
Everyone's a critic right?!
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment7</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment7</guid><pubDate>Fri, 03 Apr 2009 07:44:51 GMT</pubDate></item><item><title>Rafal commented on Rhino Queues, Take 6</title><description>Congratulations, hope you're not working on your own operating system yet? Question: can subqueues be freely defined, or are they already pre-defined? Thanks for keeping the API simple... with this addition I'll definitely have a look at Rhino SB.
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment6</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment6</guid><pubDate>Fri, 03 Apr 2009 05:32:18 GMT</pubDate></item><item><title>Torkel commented on Rhino Queues, Take 6</title><description>Great, will check it out. 
  
  
Hopefully it will make Rhino Service bus easier / more accessible to work with. 
  
  
Microsoft should hire you, they could then retire most their .NET BCL developers :)
  
  
  
  
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment5</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment5</guid><pubDate>Fri, 03 Apr 2009 05:12:39 GMT</pubDate></item><item><title>Horses commented on Rhino Queues, Take 6</title><description>Perhaps I'm being facetious, but when you say "arbitrarily large messages", don't you mean messages smaller than 2GB?  The length used for message data in SerializationExtensions is only an Int32...
  
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment4</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment4</guid><pubDate>Fri, 03 Apr 2009 05:09:47 GMT</pubDate></item><item><title>Nathan commented on Rhino Queues, Take 6</title><description>Very, very exciting stuff...can't wait to integrate it into our messaging project. Have you done any performance comparisons?
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment3</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment3</guid><pubDate>Fri, 03 Apr 2009 03:14:59 GMT</pubDate></item><item><title>Ayende Rahien commented on Rhino Queues, Take 6</title><description>Yes, that is a misprint, it IS available.
  
I fixed the post
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment2</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment2</guid><pubDate>Fri, 03 Apr 2009 01:35:36 GMT</pubDate></item><item><title>jdn commented on Rhino Queues, Take 6</title><description>"It is not publically available,"
  
  
Did you mean it was 'now publicly available'?
  
  
I assume that it was a misprint what with the link and all, but since I'm currently looking at Rhino Service Bus, wanted to make sure.
  
  
TIA.
</description><link>http://ayende.com/3931/rhino-queues-take-6#comment1</link><guid>http://ayende.com/3931/rhino-queues-take-6#comment1</guid><pubDate>Thu, 02 Apr 2009 23:58:33 GMT</pubDate></item></channel></rss>