Exemple #1
0
        private static void Main(string[] args)
        {
            HmqStickyConnector connector = new HmqStickyConnector(TimeSpan.FromSeconds(2), () =>
            {
                HorseClient client = new HorseClient();
                client.SetClientType("SAMPLE-EXCEPTION-CONSUMER");
                return(client);
            });

            connector.AddHost("hmq://localhost:15500");
            connector.ContentSerializer = new NewtonsoftContentSerializer();
            connector.Observer.RegisterConsumer <SampleExceptionConsumer>();
            connector.Connected += (c) =>
            {
                Console.WriteLine("CONNECTED");
                _ = connector.GetClient().Queues.Subscribe("SAMPLE-EXCEPTION-QUEUE", false);
            };
            connector.Disconnected    += (c) => Console.WriteLine("DISCONNECTED");
            connector.MessageReceived += (client, message) => Console.WriteLine("Direct message received");
            connector.Run();

            while (true)
            {
                Console.ReadLine();
            }
        }
Exemple #2
0
        static void Main(string[] args)
        {
            HmqStickyConnector connector = new HmqStickyConnector(TimeSpan.FromSeconds(2));

            connector.AddHost("hmq://localhost:26222");
            connector.ContentSerializer = new NewtonsoftContentSerializer();
            connector.Observer.RegisterConsumer <ModelAConsumer>();
            connector.Run();

            HorseConnectorBuilder builder = new HorseConnectorBuilder();


            builder.AddHost("host")
            .AddTransientConsumers(typeof(Program))
            .ConfigureModels(cfg => cfg.UseQueueName(type => type.Name)
                             .UseConsumerAck()
                             .AddMessageHeader("Sender-Client-Name", "MyName")
                             .SetPutBackDelay(TimeSpan.FromSeconds(10)));


            while (true)
            {
                Console.ReadLine();
            }
        }
Exemple #3
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);
        }
Exemple #4
0
        public void Register(HmqStickyConnector connector)
        {
            connector.Observer.RegisterConsumer <ExceptionConsumer1>();
            connector.Observer.RegisterConsumer <ExceptionConsumer2>();
            connector.Observer.RegisterConsumer <ExceptionConsumer3>();

            connector.Observer.RegisterConsumer <QueueConsumer1>();
            connector.Observer.RegisterConsumer <QueueConsumer2>();
            connector.Observer.RegisterConsumer <QueueConsumer3>();
            connector.Observer.RegisterConsumer <QueueConsumer4>();
            connector.Observer.RegisterConsumer <QueueConsumer5>();

            connector.AutoSubscribe = true;
        }
Exemple #5
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);
            }
        }
Exemple #6
0
        private static void Main(string[] args)
        {
            HmqStickyConnector connector = new HmqStickyConnector(TimeSpan.FromSeconds(2));

            connector.AddHost("hmq://localhost:15500");
            connector.ContentSerializer = new NewtonsoftContentSerializer();
            connector.Observer.RegisterConsumer <SampleMessageQueueConsumer>();
            connector.Connected += (c) =>
            {
                Console.WriteLine("CONNECTED");
                _ = connector.GetClient().Queues.Subscribe("SAMPLE-MESSAGE-QUEUE", false);
            };
            connector.Disconnected    += (c) => Console.WriteLine("DISCONNECTED");
            connector.MessageReceived += (client, message) => Console.WriteLine("Queue message received");
            connector.Run();

            while (true)
            {
                Console.ReadLine();
            }
        }
Exemple #7
0
        static void Main(string[] args)
        {
            HmqStickyConnector connector = new HmqStickyConnector(TimeSpan.FromSeconds(2), () =>
            {
                HorseClient client = new HorseClient();
                client.SetClientName("GIVE-ME-GUID-REQUEST-HANDLER-CONSUMER");
                return(client);
            });


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

            while (true)
            {
                Console.ReadLine();
            }
        }
Exemple #8
0
        static async Task Main(string[] args)
        {
            HmqStickyConnector connector = new HmqStickyConnector(TimeSpan.FromSeconds(2));

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

            IHorseQueueBus queueBus = connector.Bus.Queue;

            ModelA a = new ModelA();

            a.Foo = "foo";
            a.No  = 123;

            while (true)
            {
                HorseResult result = await queueBus.PushJson(a);

                Console.WriteLine($"Push: {result.Code}");
                await Task.Delay(5000);
            }
        }
Exemple #9
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();
            }
        }
Exemple #10
0
        /// <summary>
        /// Inits node options and starts the connections
        /// </summary>
        public void Initialize()
        {
            if (Server.Options.Nodes == null || Server.Options.Nodes.Length < 1)
            {
                return;
            }

            Connectors = new HmqStickyConnector[Server.Options.Nodes.Length];

            for (int i = 0; i < Connectors.Length; i++)
            {
                NodeOptions options   = Server.Options.Nodes[i];
                TimeSpan    reconnect = TimeSpan.FromMilliseconds(options.ReconnectWait);

                HmqStickyConnector connector = options.KeepMessages
                                                   ? new HmqAbsoluteConnector(reconnect, () => CreateInstanceClient(options))
                                                   : new HmqStickyConnector(reconnect, () => CreateInstanceClient(options));

                Connectors[i] = connector;
                connector.Tag = options;

                connector.AddHost(options.Host);
            }
        }
Exemple #11
0
 internal HorseBus(HmqStickyConnector connector) : base(connector)
 {
     Direct = new HorseDirectBus <TIdentifier>(connector);
     Queue  = new HorseQueueBus <TIdentifier>(connector);
     Route  = new HorseRouteBus <TIdentifier>(connector);
 }
Exemple #12
0
 internal HorseRouteBus(HmqStickyConnector connector) : base(connector)
 {
 }
Exemple #13
0
 /// <summary>
 /// Creates new direct bus
 /// </summary>
 public HorseDirectBus(HmqStickyConnector connector)
 {
     _connector = connector;
 }
Exemple #14
0
 internal HorseQueueBus(HmqStickyConnector connector) : base(connector)
 {
 }
Exemple #15
0
 /// <summary>
 /// Creates new queue bus
 /// </summary>
 public HorseQueueBus(HmqStickyConnector connector)
 {
     _connector = connector;
 }
Exemple #16
0
 /// <summary>
 /// Creates new horse route bus
 /// </summary>
 public HorseRouteBus(HmqStickyConnector connector)
 {
     _connector = connector;
 }
 internal HorseDirectBus(HmqStickyConnector connector) : base(connector)
 {
 }