예제 #1
0
        /// <summary>
        /// Creates new horse bus
        /// </summary>
        public HorseBus(HmqStickyConnector connector)
        {
            _connector = connector;

            Direct = new HorseDirectBus(connector);
            Queue  = new HorseQueueBus(connector);
            Route  = new HorseRouteBus(connector);
        }
예제 #2
0
        private static async Task Main(string[] args)
        {
            HmqStickyConnector connector = new HmqStickyConnector(TimeSpan.FromSeconds(2));

            connector.AddHost("hmq://localhost:15500");
            connector.ContentSerializer = new NewtonsoftContentSerializer();
            connector.Run();

            IHorseRouteBus routeBus = connector.Bus.Route;

            while (true)
            {
                HorseResult result = await routeBus.PublishJson(new SampleMessage(), true);

                Console.WriteLine($"Push: {result.Code}");
                await Task.Delay(5000);
            }
        }
예제 #3
0
        private static void Main(string[] args)
        {
            HmqStickyConnector connector = new HmqStickyConnector(TimeSpan.FromSeconds(2), () =>
            {
                HorseClient client = new HorseClient();
                client.SetClientType("SAMPLE-MESSAGE-CONSUMER");
                return(client);
            });

            connector.AddHost("hmq://localhost:15500");
            connector.ContentSerializer = new NewtonsoftContentSerializer();
            connector.Observer.RegisterConsumer <SampleDirectMessageConsumer>();
            connector.Connected       += (c) => { Console.WriteLine("CONNECTED"); };
            connector.Disconnected    += (c) => Console.WriteLine("DISCONNECTED");
            connector.MessageReceived += (client, message) => Console.WriteLine("Direct message received");
            connector.Run();

            RouteBus = connector.Bus.Route;

            while (true)
            {
                Console.ReadLine();
            }
        }