Simple Client/Server app with MassTransit and MSMQ

544 views
Skip to first unread message

Jakub Gutkowski

unread,
Apr 16, 2014, 6:38:36 AM4/16/14
to masstrans...@googlegroups.com
Hi,

I'm trying to create simple example app - client that will publish message and server that will display this message. I was able to execute quickstart example - and this one did worked for me.

However I can't make it work on two separate console apps, not sure if this is an issue with bus configuration, or something else.

Maybe you will be able to help.

Events.dlls:
using System;
 
namespace Events
{
    public class Event
    {
        public Guid EventId { getset; }
        public DateTime EventDateTime { getset; }
        public string Message { getset; }
    }
}

Publisher.exe:
using System;
using Events;
using MassTransit;
 
namespace Publisher
{
    class Program
    {
        static void Main(string[] args)
        {
            Bus.Initialize(sbc =>
            {
                sbc.UseMsmq(x =>
                {
                    x.UseMulticastSubscriptionClient();
                });
                
                sbc.ReceiveFrom("msmq://localhost/test.publisher");
            });
 
            Console.ForegroundColor = ConsoleColor.Green;
            Console.WriteLine("----------WELCOME TO MESSAGE PUBLISHER---------");
            Console.WriteLine("Type your message and press enter (this step will repeat until CTRL+C)");
            while (true)
            {
                Console.ForegroundColor = ConsoleColor.DarkGreen;
                Console.Write("Message: ");
                Console.ForegroundColor = ConsoleColor.Gray;
                var msg = Console.ReadLine();
                var evt = new Event();
                evt.Message = msg;
                evt.EventDateTime = DateTime.Now;
                evt.EventId = Guid.NewGuid();
 
                Bus.Instance.Publish(evt);
            }
        }
    }
}

Receiver.exe:
using System;
using System.Threading;
using Events;
using MassTransit;
 
namespace Receiver
{
    public class Program
    {
        static void Main(string[] args)
        {
            Bus.Initialize(sbc =>
            {
                sbc.UseMsmq(x =>
                {
                    x.UseMulticastSubscriptionClient();
                });
                
                sbc.ReceiveFrom("msmq://localhost/test.consumer");
 
                sbc.Subscribe(subs =>
                {
                    subs.Handler<Event>(msg =>
                    {
                        Console.ForegroundColor = ConsoleColor.Green;
                        Console.WriteLine("RECEIVED EVENT ID: {0} on {1}", msg.EventId, msg.EventDateTime.ToString("s"));
                        Console.ForegroundColor = ConsoleColor.Gray;
                        Console.WriteLine("\tMESSAGE: {0}", msg.Message);
                        Console.ResetColor();
                    });
                });
            });
 
            while (true)
            {
                Thread.Sleep(1000);
            }
        }
    }
}

I'm running this code on Win8.1 with MSQM installed. MassTransit and MassTransit.Transports.MSMQ are installed on publisher and receiver - version 2.9.

It looks like routing is not working in this case, however when I try to use UseSubscriptionService i'm getting configuration exception after some time.

I would really appreciate any help

Cheers,
   Jakub G

Travis Smith

unread,
Apr 16, 2014, 7:46:13 AM4/16/14
to masstrans...@googlegroups.com
So I don't see anything obviously wrong, so let's go through a list of things...

* Are both the publisher and the consumer on the same machine? If not you need to set the network key for multicast to work right.
* UseSubscriptionService requires you to run the MassTransit.RuntimeServices and have a DB to store the subscription data. Multicast isn't really meant for production, so if you want to use MSMQ, you'll need to convert at some point but just getting started Multicast is easier. I'd also suggest using RabbitMQ over MSMQ unless you require DTC. 
* Is both the publisher and the consumer running at the same time with a few seconds for the multicast to negotiate subscription information? 
* I'm not sure Thread.Sleep() is the best thing to use in the consumer, can you just Console.ReadLine() or something similar? 
* I'd also suggest enabling a logging library plugin (MassTransit.log4net or something of the sort) to make sure we can see all the important details
* There's a introspection method you can call on the bus to dump out all it's configuration. I think including routes, but I don't recall what it is off the top of my head, Dru - do you remember? 

-Travis


--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to masstransit-dis...@googlegroups.com.
To post to this group, send email to masstrans...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/masstransit-discuss/84f45d81-57e0-4fd6-9349-201f4934a808%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Jakub Gutkowski

unread,
Apr 16, 2014, 8:30:30 AM4/16/14
to masstrans...@googlegroups.com

* publisher and subscriber are on the same machine. I've tried running this app from VS (multiple startup projects) and from generated EXE files (bin/debug|release)
* that's what i thought - just found a blog post saying that i need RuntimeService with UseSubscriptionService. But for now I just want to execute it and make it run. Will ask my team if RabbitMQ can be used, but for now, I need to stick to MSMQ.
* yes, they do, I'm giving them around 20-30 seconds before I try to publish anything.
* I've tried with Console.ReadKey() before and it didn't worked. So i've converted it to Sleep just to test if this make any difference
* log (after log you will find dumped configuration) - BTW i did tried running VS normally and as admin. All logs and traces comes from running app from the VS with Administrative rights

receiver:
14:22:53.5117 +02:00|9|Debug|MassTransit.Builders.ControlBusBuilderImpl|Creating ControlBus at msmq-pgm://235.109.116.115:7784/test.consumer_subscriptions 
14:22:53.5567 +02:00|9|Debug|MassTransit.ServiceContainer|Starting bus service: MassTransit.Subscriptions.Coordinator.SubscriptionRouterService 
14:22:53.6047 +02:00|9|Debug|MassTransit.Threading.ThreadPoolConsumerPool|Starting Consumer Pool for msmq-pgm://235.109.116.115:7784/test.consumer_subscriptions 
14:22:53.6047 +02:00|13|Debug|MassTransit.Transports.Msmq.MessageQueueConnection|Closing: FormatName:DIRECT=OS:gutek-pc\private$\test.consumer_subscriptions 
14:22:53.6207 +02:00|13|Debug|MassTransit.Transports.Msmq.MessageQueueConnection|Creating MessageQueue: FormatName:DIRECT=OS:gutek-pc\private$\test.consumer_subscriptions 
14:22:53.6207 +02:00|9|Debug|MassTransit.Transports.Msmq.MulticastSubscriptionClient|Starting MulticastSubscriptionService using msmq-pgm://235.109.116.115:7784/test.consumer_subscriptions 
14:22:53.8238 +02:00|9|Debug|MassTransit.Transports.Msmq.MessageQueueConnection|Closing: FormatName:MULTICAST=235.109.116.115:7784 
14:22:53.8238 +02:00|9|Debug|MassTransit.Transports.Msmq.MessageQueueConnection|Creating MessageQueue: FormatName:MULTICAST=235.109.116.115:7784 
14:22:53.8588 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Services.Subscriptions.Messages.AddSubscriptionClient, MassTransit, 39c40000-5d35-0015-ac90-08d12785b9b2 
14:22:53.8588 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Services.Subscriptions.Messages.AddSubscriptionClient, MassTransit, 39c40000-5d35-0015-ac90-08d12785b9b2 
14:22:53.8588 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Services.Subscriptions.Messages.AddSubscriptionClient, MassTransit, 39c40000-5d35-0015-1277-08d12785b9b3 
14:22:53.8798 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Services.Subscriptions.Messages.AddSubscriptionClient, MassTransit => msmq-pgm://235.109.116.115:7784/test.consumer_subscriptions, 39c40000-5d35-0015-1277-08d12785b9b3 
14:22:53.8798 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Services.Subscriptions.Messages.RemoveSubscriptionClient, MassTransit, 39c40000-5d35-0015-e1b4-08d12785b9b3 
14:22:53.8798 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Services.Subscriptions.Messages.RemoveSubscriptionClient, MassTransit, 39c40000-5d35-0015-e1b4-08d12785b9b3 
14:22:53.8848 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Services.Subscriptions.Messages.RemoveSubscriptionClient, MassTransit, 39c40000-5d35-0015-f65d-08d12785b9b3 
14:22:53.8848 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Services.Subscriptions.Messages.RemoveSubscriptionClient, MassTransit => msmq-pgm://235.109.116.115:7784/test.consumer_subscriptions, 39c40000-5d35-0015-f65d-08d12785b9b3 
14:22:53.8848 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Services.Subscriptions.Messages.SubscriptionRefresh, MassTransit, 39c40000-5d35-0015-6b0a-08d12785b9b4 
14:22:53.8848 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Services.Subscriptions.Messages.SubscriptionRefresh, MassTransit, 39c40000-5d35-0015-6b0a-08d12785b9b4 
14:22:53.8848 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Services.Subscriptions.Messages.SubscriptionRefresh, MassTransit, 39c40000-5d35-0015-82d4-08d12785b9b4 
14:22:53.8848 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Services.Subscriptions.Messages.SubscriptionRefresh, MassTransit => msmq-pgm://235.109.116.115:7784/test.consumer_subscriptions, 39c40000-5d35-0015-82d4-08d12785b9b4 
14:22:53.9018 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Services.Subscriptions.Messages.AddSubscription, MassTransit, 39c40000-5d35-0015-d82e-08d12785b9b4 
14:22:53.9018 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Services.Subscriptions.Messages.AddSubscription, MassTransit, 39c40000-5d35-0015-d82e-08d12785b9b4 
14:22:53.9018 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Services.Subscriptions.Messages.AddSubscription, MassTransit, 39c40000-5d35-0015-eeed-08d12785b9b4 
14:22:53.9018 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Services.Subscriptions.Messages.AddSubscription, MassTransit => msmq-pgm://235.109.116.115:7784/test.consumer_subscriptions, 39c40000-5d35-0015-eeed-08d12785b9b4 
14:22:53.9018 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Services.Subscriptions.Messages.RemoveSubscription, MassTransit, 39c40000-5d35-0015-4451-08d12785b9b5 
14:22:53.9018 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Services.Subscriptions.Messages.RemoveSubscription, MassTransit, 39c40000-5d35-0015-4451-08d12785b9b5 
14:22:53.9018 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Services.Subscriptions.Messages.RemoveSubscription, MassTransit, 39c40000-5d35-0015-5739-08d12785b9b5 
14:22:53.9018 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Services.Subscriptions.Messages.RemoveSubscription, MassTransit => msmq-pgm://235.109.116.115:7784/test.consumer_subscriptions, 39c40000-5d35-0015-5739-08d12785b9b5 
14:22:53.9158 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeerSubscription, MassTransit, 39c40000-5d35-0015-b1da-08d12785b9b5 
14:22:53.9158 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeerSubscription, MassTransit, 39c40000-5d35-0015-b1da-08d12785b9b5 
14:22:53.9158 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeerSubscription, MassTransit, 39c40000-5d35-0015-c528-08d12785b9b5 
14:22:53.9158 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Subscriptions.Messages.AddPeerSubscription, MassTransit => msmq-pgm://235.109.116.115:7784/test.consumer_subscriptions, 39c40000-5d35-0015-c528-08d12785b9b5 
14:22:53.9158 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Subscriptions.Messages.RemovePeerSubscription, MassTransit, 39c40000-5d35-0015-29ca-08d12785b9b6 
14:22:53.9158 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Subscriptions.Messages.RemovePeerSubscription, MassTransit, 39c40000-5d35-0015-29ca-08d12785b9b6 
14:22:53.9158 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Subscriptions.Messages.RemovePeerSubscription, MassTransit, 39c40000-5d35-0015-3c54-08d12785b9b6 
14:22:53.9338 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Subscriptions.Messages.RemovePeerSubscription, MassTransit => msmq-pgm://235.109.116.115:7784/test.consumer_subscriptions, 39c40000-5d35-0015-3c54-08d12785b9b6 
14:22:53.9338 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeer, MassTransit, 39c40000-5d35-0015-a43c-08d12785b9b6 
14:22:53.9338 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeer, MassTransit, 39c40000-5d35-0015-a43c-08d12785b9b6 
14:22:53.9338 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeer, MassTransit, 39c40000-5d35-0015-b753-08d12785b9b6 
14:22:53.9338 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Subscriptions.Messages.AddPeer, MassTransit => msmq-pgm://235.109.116.115:7784/test.consumer_subscriptions, 39c40000-5d35-0015-b753-08d12785b9b6 
14:22:53.9478 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Subscriptions.Messages.RemovePeer, MassTransit, 39c40000-5d35-0015-277b-08d12785b9b7 
14:22:53.9478 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Subscriptions.Messages.RemovePeer, MassTransit, 39c40000-5d35-0015-277b-08d12785b9b7 
14:22:53.9478 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Subscriptions.Messages.RemovePeer, MassTransit, 39c40000-5d35-0015-3a08-08d12785b9b7 
14:22:53.9478 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Subscriptions.Messages.RemovePeer, MassTransit => msmq-pgm://235.109.116.115:7784/test.consumer_subscriptions, 39c40000-5d35-0015-3a08-08d12785b9b7 
14:22:53.9478 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeer, MassTransit, 39c40000-5d35-0015-94ed-08d12785b9b7 
14:22:53.9478 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeer, MassTransit, 39c40000-5d35-0015-94ed-08d12785b9b7 
14:22:53.9478 +02:00|9|Debug|MassTransit.ServiceContainer|Starting bus service: MassTransit.Subscriptions.Coordinator.SubscriptionRouterService 
14:22:53.9478 +02:00|9|Debug|MassTransit.ServiceContainer|Starting bus service: MassTransit.Subscriptions.SubscriptionBusService 
14:22:53.9628 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: Events.Event, Events, 39c40000-5d35-0015-efaa-08d12785b9b7 
14:22:53.9628 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: Events.Event, Events, 39c40000-5d35-0015-efaa-08d12785b9b7 
14:22:53.9628 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: Events.Event, Events, 39c40000-5d35-0015-02f1-08d12785b9b8 
14:22:53.9628 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: Events.Event, Events => msmq://gutek-pc/test.consumer?tx=false&recoverable=true, 39c40000-5d35-0015-02f1-08d12785b9b8 
14:22:53.9628 +02:00|9|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionMessageProducer|AddSubscription: Events.Event, Events, 39c40000-5d35-0015-02f1-08d12785b9b8 
14:22:53.9808 +02:00|9|Debug|MassTransit.Threading.ThreadPoolConsumerPool|Starting Consumer Pool for msmq://gutek-pc/test.consumer?tx=false&recoverable=true 
14:22:53.9808 +02:00|10|Debug|MassTransit.Transports.Msmq.MessageQueueConnection|Closing: FormatName:DIRECT=OS:gutek-pc\private$\test.consumer 
14:22:53.9808 +02:00|10|Debug|MassTransit.Transports.Msmq.MessageQueueConnection|Creating MessageQueue: FormatName:DIRECT=OS:gutek-pc\private$\test.consumer 

publisher:
14:27:10.1875 +02:00|10|Debug|MassTransit.Builders.ControlBusBuilderImpl|Creating ControlBus at msmq-pgm://235.109.116.115:7784/test.publisher_subscriptions 
14:27:10.2254 +02:00|10|Debug|MassTransit.ServiceContainer|Starting bus service: MassTransit.Subscriptions.Coordinator.SubscriptionRouterService 
14:27:10.2594 +02:00|10|Debug|MassTransit.Threading.ThreadPoolConsumerPool|Starting Consumer Pool for msmq-pgm://235.109.116.115:7784/test.publisher_subscriptions 
14:27:10.2594 +02:00|3|Debug|MassTransit.Transports.Msmq.MessageQueueConnection|Closing: FormatName:DIRECT=OS:gutek-pc\private$\test.publisher_subscriptions 
14:27:10.2594 +02:00|3|Debug|MassTransit.Transports.Msmq.MessageQueueConnection|Creating MessageQueue: FormatName:DIRECT=OS:gutek-pc\private$\test.publisher_subscriptions 
14:27:10.2825 +02:00|10|Debug|MassTransit.Transports.Msmq.MulticastSubscriptionClient|Starting MulticastSubscriptionService using msmq-pgm://235.109.116.115:7784/test.publisher_subscriptions 
14:27:10.4575 +02:00|10|Debug|MassTransit.Transports.Msmq.MessageQueueConnection|Closing: FormatName:MULTICAST=235.109.116.115:7784 
14:27:10.4575 +02:00|10|Debug|MassTransit.Transports.Msmq.MessageQueueConnection|Creating MessageQueue: FormatName:MULTICAST=235.109.116.115:7784 
14:27:10.4915 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Services.Subscriptions.Messages.AddSubscriptionClient, MassTransit, 39c40000-5d35-0015-ede3-08d1278652aa 
14:27:10.4965 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Services.Subscriptions.Messages.AddSubscriptionClient, MassTransit, 39c40000-5d35-0015-ede3-08d1278652aa 
14:27:10.4965 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Services.Subscriptions.Messages.AddSubscriptionClient, MassTransit, 39c40000-5d35-0015-5c48-08d1278652ab 
14:27:10.5125 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Services.Subscriptions.Messages.AddSubscriptionClient, MassTransit => msmq-pgm://235.109.116.115:7784/test.publisher_subscriptions, 39c40000-5d35-0015-5c48-08d1278652ab 
14:27:10.5125 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Services.Subscriptions.Messages.RemoveSubscriptionClient, MassTransit, 39c40000-5d35-0015-31bb-08d1278652ac 
14:27:10.5125 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Services.Subscriptions.Messages.RemoveSubscriptionClient, MassTransit, 39c40000-5d35-0015-31bb-08d1278652ac 
14:27:10.5125 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Services.Subscriptions.Messages.RemoveSubscriptionClient, MassTransit, 39c40000-5d35-0015-465f-08d1278652ac 
14:27:10.5125 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Services.Subscriptions.Messages.RemoveSubscriptionClient, MassTransit => msmq-pgm://235.109.116.115:7784/test.publisher_subscriptions, 39c40000-5d35-0015-465f-08d1278652ac 
14:27:10.5125 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Services.Subscriptions.Messages.SubscriptionRefresh, MassTransit, 39c40000-5d35-0015-938c-08d1278652ac 
14:27:10.5125 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Services.Subscriptions.Messages.SubscriptionRefresh, MassTransit, 39c40000-5d35-0015-938c-08d1278652ac 
14:27:10.5255 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Services.Subscriptions.Messages.SubscriptionRefresh, MassTransit, 39c40000-5d35-0015-aa41-08d1278652ac 
14:27:10.5255 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Services.Subscriptions.Messages.SubscriptionRefresh, MassTransit => msmq-pgm://235.109.116.115:7784/test.publisher_subscriptions, 39c40000-5d35-0015-aa41-08d1278652ac 
14:27:10.5255 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Services.Subscriptions.Messages.AddSubscription, MassTransit, 39c40000-5d35-0015-0064-08d1278652ad 
14:27:10.5255 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Services.Subscriptions.Messages.AddSubscription, MassTransit, 39c40000-5d35-0015-0064-08d1278652ad 
14:27:10.5255 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Services.Subscriptions.Messages.AddSubscription, MassTransit, 39c40000-5d35-0015-1853-08d1278652ad 
14:27:10.5255 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Services.Subscriptions.Messages.AddSubscription, MassTransit => msmq-pgm://235.109.116.115:7784/test.publisher_subscriptions, 39c40000-5d35-0015-1853-08d1278652ad 
14:27:10.5405 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Services.Subscriptions.Messages.RemoveSubscription, MassTransit, 39c40000-5d35-0015-6c30-08d1278652ad 
14:27:10.5405 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Services.Subscriptions.Messages.RemoveSubscription, MassTransit, 39c40000-5d35-0015-6c30-08d1278652ad 
14:27:10.5405 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Services.Subscriptions.Messages.RemoveSubscription, MassTransit, 39c40000-5d35-0015-80c2-08d1278652ad 
14:27:10.5405 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Services.Subscriptions.Messages.RemoveSubscription, MassTransit => msmq-pgm://235.109.116.115:7784/test.publisher_subscriptions, 39c40000-5d35-0015-80c2-08d1278652ad 
14:27:10.5405 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeerSubscription, MassTransit, 39c40000-5d35-0015-df52-08d1278652ad 
14:27:10.5405 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeerSubscription, MassTransit, 39c40000-5d35-0015-df52-08d1278652ad 
14:27:10.5405 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeerSubscription, MassTransit, 39c40000-5d35-0015-f39d-08d1278652ad 
14:27:10.5405 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Subscriptions.Messages.AddPeerSubscription, MassTransit => msmq-pgm://235.109.116.115:7784/test.publisher_subscriptions, 39c40000-5d35-0015-f39d-08d1278652ad 
14:27:10.5585 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Subscriptions.Messages.RemovePeerSubscription, MassTransit, 39c40000-5d35-0015-572a-08d1278652ae 
14:27:10.5585 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Subscriptions.Messages.RemovePeerSubscription, MassTransit, 39c40000-5d35-0015-572a-08d1278652ae 
14:27:10.5585 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Subscriptions.Messages.RemovePeerSubscription, MassTransit, 39c40000-5d35-0015-6c28-08d1278652ae 
14:27:10.5585 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Subscriptions.Messages.RemovePeerSubscription, MassTransit => msmq-pgm://235.109.116.115:7784/test.publisher_subscriptions, 39c40000-5d35-0015-6c28-08d1278652ae 
14:27:10.5585 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeer, MassTransit, 39c40000-5d35-0015-d7e0-08d1278652ae 
14:27:10.5585 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeer, MassTransit, 39c40000-5d35-0015-d7e0-08d1278652ae 
14:27:10.5585 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeer, MassTransit, 39c40000-5d35-0015-ecaa-08d1278652ae 
14:27:10.5745 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Subscriptions.Messages.AddPeer, MassTransit => msmq-pgm://235.109.116.115:7784/test.publisher_subscriptions, 39c40000-5d35-0015-ecaa-08d1278652ae 
14:27:10.5745 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Subscriptions.Messages.RemovePeer, MassTransit, 39c40000-5d35-0015-611e-08d1278652af 
14:27:10.5745 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Subscriptions.Messages.RemovePeer, MassTransit, 39c40000-5d35-0015-611e-08d1278652af 
14:27:10.5745 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscription|SubscribeTo: MassTransit.Subscriptions.Messages.RemovePeer, MassTransit, 39c40000-5d35-0015-75de-08d1278652af 
14:27:10.5885 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Subscriptions.Messages.RemovePeer, MassTransit => msmq-pgm://235.109.116.115:7784/test.publisher_subscriptions, 39c40000-5d35-0015-75de-08d1278652af 
14:27:10.5885 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionEventListener|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeer, MassTransit, 39c40000-5d35-0015-fcfc-08d1278652af 
14:27:10.5885 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionCache|SubscribeTo: MassTransit.Subscriptions.Messages.AddPeer, MassTransit, 39c40000-5d35-0015-fcfc-08d1278652af 
14:27:10.5885 +02:00|10|Debug|MassTransit.ServiceContainer|Starting bus service: MassTransit.Subscriptions.Coordinator.SubscriptionRouterService 
14:27:10.5885 +02:00|10|Debug|MassTransit.Threading.ThreadPoolConsumerPool|Starting Consumer Pool for msmq://gutek-pc/test.publisher?tx=false&recoverable=true 
14:27:10.5885 +02:00|11|Debug|MassTransit.Transports.Msmq.MessageQueueConnection|Closing: FormatName:DIRECT=OS:gutek-pc\private$\test.publisher 
14:27:10.6035 +02:00|11|Debug|MassTransit.Transports.Msmq.MessageQueueConnection|Creating MessageQueue: FormatName:DIRECT=OS:gutek-pc\private$\test.publisher  

* here is dumped configuration Prob plus WriteIntrospectionToFile

receiver:
host.machine_name: GUTEK-PC
mt.concurrent_receive_threads: 1
mt.control_bus: msmq://gutek-pc/test.consumer?tx=false&recoverable=true
mt.default_serializer: XmlMessageSerializer
mt.max_consumer_threads: 32
mt.network: gutek-pc
mt.receive_from: msmq://gutek-pc/test.consumer?tx=false&recoverable=true
mt.receive_timeout: 00:00:03
mt.service_count: 2
mt.transport: [msmq-pgm] MulticastMsmqTransportFactory
mt.transport: [loopback] LoopbackTransportFactory
mt.transport: [msmq] MsmqTransportFactory
mt.version: 2.9.0.0
net.version: 4.0.30319.34014
os.bits: x64
os.version: Microsoft Windows NT 6.3.9600.0
process.bits: x32
process.fulltrust: True
zz.mt.inbound_pipeline: Pipeline
Routed (MassTransit.IConsumeContext, MassTransit)
Translated to Events.Event, Events
Routed (Events.Event, Events)
Consumed by Instance (Events.Event, Events)

zz.mt.outbound_pipeline: Pipeline
Routed (MassTransit.ISendContext, MassTransit)
Translated to Events.Event, Events
Routed (Events.Event, Events)
Send Events.Event, Events to Endpoint msmq://gutek-pc/test.consumer?tx=false&recoverable=true

publisher:
host.machine_name: GUTEK-PC
mt.concurrent_receive_threads: 1
mt.control_bus: msmq://gutek-pc/test.publisher?tx=false&recoverable=true
mt.default_serializer: XmlMessageSerializer
mt.max_consumer_threads: 32
mt.network: gutek-pc
mt.receive_from: msmq://gutek-pc/test.publisher?tx=false&recoverable=true
mt.receive_timeout: 00:00:03
mt.service_count: 1
mt.transport: [msmq-pgm] MulticastMsmqTransportFactory
mt.transport: [loopback] LoopbackTransportFactory
mt.transport: [msmq] MsmqTransportFactory
mt.version: 2.9.0.0
net.version: 4.0.30319.34014
os.bits: x64
os.version: Microsoft Windows NT 6.3.9600.0
process.bits: x32
process.fulltrust: True
process.id: 17576
zz.mt.inbound_pipeline: Pipeline
Routed (MassTransit.IConsumeContext, MassTransit)

zz.mt.outbound_pipeline: Pipeline
Routed (MassTransit.ISendContext, MassTransit)

-Travis


To unsubscribe from this group and stop receiving emails from it, send an email to masstransit-discuss+unsub...@googlegroups.com.

Jakub Gutkowski

unread,
Apr 16, 2014, 8:46:24 AM4/16/14
to masstrans...@googlegroups.com
just in case, I have published code on github:

Cheers
...

Jakub Gutkowski

unread,
Apr 16, 2014, 11:56:31 AM4/16/14
to masstrans...@googlegroups.com
just tried with RabbitMQ (the only change was schema plus UseRabbitMq and it works.

so it needs to be something with the system/configuration/msmq installation

I've tried forcing transactions in msmg by ?tx=true and disabling them completely but nothing worked. 

any other suggestions?

Thanks
14:27:10.5405 +02:00|10|Debug|MassTransit.Subscriptions.Coordinator.BusSubscriptionConnector|Added: MassTransit.Services.Subscriptions.Messages.RemoveSubscription, MassTransit => msmq-pgm://<a href="http://235.109.116.115:7784/test.publisher_subscriptions" target="_blank" onmousedown="this.href='h
...

Jakub Gutkowski

unread,
Apr 16, 2014, 1:17:57 PM4/16/14
to masstrans...@googlegroups.com
it looks like this is routing problem, if I will add this to Publisher:

sbc.ConfigureService<RoutingConfigurator>(
    BusServiceLayer.Session,
    rc => rc.Route<Event>().To("msmq://localhost/test.consumer"));

It works properly. however this method is obsolete, how can I achieve this with AddService now?

Cheers
...

Travis Smith

unread,
Apr 16, 2014, 1:27:58 PM4/16/14
to masstrans...@googlegroups.com
Do you have the multicast components installed for MSMQ? Looking at the introspection, you can see that the subscription wasn't passed to the publisher so the message does nothing. Does the machine have multiple NICs? I seem to recall this being an issue, but I'll have to search the list to remember exactly why...

If you set the queue to transactional, then you'll need to delete them and let MT re-add them correctly. Otherwise it gets overwritten with the queues actual transactionaliness. I think we have some docs on static routing... http://codebetter.com/drusellers/2009/04/18/masstransit-routing/ really old from Dru, looks like what you're using; what is on http://masstransit.readthedocs.org/en/latest/overview/publishing.html?highlight=static references "static routing bits" - which is kinda useless. So I think we have a documentation fail here. I don't use static routing, so I'll have to dig to find the answer. 

-Travis


--
You received this message because you are subscribed to the Google Groups "masstransit-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to masstransit-dis...@googlegroups.com.

To post to this group, send email to masstrans...@googlegroups.com.

Jakub Gutkowski

unread,
Apr 16, 2014, 2:13:08 PM4/16/14
to masstrans...@googlegroups.com
yep, multicast installed. got multiple NICs (hyper-v case) but its looks good in netstat, plus for testing purpose I did play around with BindingIP regkey and restarting MSMQ but with no luck.

I did even try to UseSubsriptionService with MassTransit.RuntimeServices.exe and DB with no luck - Timeout waiting for subscription service to respond.

So it looks like there is some sort of software configuration issue that is not allowing me to have my simple Pub/Sub working dynamically. with static routes it works, with rabbitmq it works. And below simplest example works too:


using System;
using MassTransit;
 
namespace PublisherAndReciver
{
    public class Program
    {
        static void Main(string[] args)
        {
            Bus.Initialize(sbc =>
            {
                sbc.UseMsmq(x =>
                {
                    x.
UseMulticastSubscriptionClient();
                    x.VerifyMsmqConfiguration();
                });
 
                sbc.ReceiveFrom("msmq://localhost/test_queue");
 
                sbc.Subscribe(subs =>
                {
                    subs.Handler<YourMessage>(msg => Console.WriteLine(msg.Text));
                });
            });
            
            Bus.Instance.Publish(new YourMessage { Text = "Hi" + i });
 
            Console.ReadLine();
        }
    }
 
    public class YourMessage { public string Text { getset; } }
}

-Travis


To unsubscribe from this group and stop receiving emails from it, send an email to masstransit-discuss+unsub...@googlegroups.com.

To post to this group, send email to masstrans...@googlegroups.com.

Travis Smith

unread,
Apr 16, 2014, 2:41:00 PM4/16/14
to masstrans...@googlegroups.com
Hmm, all the really obvious stuff I think is ruled out. So something's going on here. I think Chris is on vacation and disconnected this week. I'll try to get your code and and dig in, but no promises that it will happen right away. 

-Travis


To unsubscribe from this group and stop receiving emails from it, send an email to masstransit-dis...@googlegroups.com.

To post to this group, send email to masstrans...@googlegroups.com.

Jakub Gutkowski

unread,
Apr 16, 2014, 2:58:56 PM4/16/14
to masstrans...@googlegroups.com
Thanks.

I already asked few people to tryout this code, and currently (just received confirmation that its working on one of the computers) its 2 (not working) against one working.

IMO this needs to be some sort of configuration issue, or MSMQ version. I does not work on Win8.1 but it does on Win8 with UAC turned off

So if this code will work for you that means its for sure something with system configuration.

Cheers
...

Travis Smith

unread,
Apr 16, 2014, 3:10:01 PM4/16/14
to masstrans...@googlegroups.com
Yeah, this is likely the msmq-multicast-multiple-nics problem. Multicast messages aren't bound to the right interface and it gets all jammed up. 


-Travis


To unsubscribe from this group and stop receiving emails from it, send an email to masstransit-dis...@googlegroups.com.
To post to this group, send email to masstrans...@googlegroups.com.

Jakub Gutkowski

unread,
Apr 16, 2014, 3:57:10 PM4/16/14
to masstrans...@googlegroups.com
thanks, didn't know about MulticastBindIP, however, it does not work :(

tried even with computer restart (its windows) and still no success.
...
Reply all
Reply to author
Forward
0 new messages