Ejemplo n.º 1
0
        public async Task <IEnumerable <User> > Get()
        {
            var users = await this._userService.FindUsers();

            Console.WriteLine("Messages reçus : " + RabbitMQReceiver.GetInstance().Received());
            return(users);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            var messageReceiver = new RabbitMQReceiver(url, queueName);

            messageReceiver.Start(ProcessMessage);

            while (true)
            {
                Thread.Sleep(5000);
            }

            messageReceiver.Dispose();
        }
Ejemplo n.º 3
0
        public void Start()
        {
            Bus = RabbitMQBus.Load(ConfigDirectory + "Bus.config");
            Bus.Start();

            Sender = RabbitMQSender <RabbitMQMultiStringKeyValuePairsMessageModel> .Load(ConfigDirectory + "Sender.config");

            Sender.BindBus(Bus);
            Sender.Start();

            Receiver = RabbitMQReceiver <RabbitMQMultiStringKeyValuePairsMessageModel> .Load(ConfigDirectory + "Receiver.config");

            Receiver.BindBus(Bus);
            Receiver.Start();
        }
Ejemplo n.º 4
0
        static void Main(string[] args)
        {
            RegisterTypes();

            var connectionDetail = new RabbitMQConnectionDetail()
            {
                HostName = "localhost", UserName = "******", Password = "******"
            };

            using (var scope = Container.BeginLifetimeScope())
            {
                var connection          = scope.Resolve <IRabbitMQConnectionFactory>(new TypedParameter(typeof(RabbitMQConnectionDetail), connectionDetail));
                RabbitMQReceiver client = new RabbitMQReceiver(connection);
                client.ProcessMessages();
            }
        }
Ejemplo n.º 5
0
        private const int RefreshRate = 1000;  // 1sec

        static void Main(string[] args)
        {
            ILogReceiver receiver = new RabbitMQReceiver();

            receiver.Init();
            foreach (var severity in LogSeverity.Values())
            {
                receiver.BindRoute(severity);
            }
            receiver.Listen((severity, message) => {
                LogAnalysis[severity]++;
            });
            new Task(WriteLogStats).Start();

            Console.ReadKey();
            receiver.Close();
        }
Ejemplo n.º 6
0
 static void Main(string[] args)
 {
     using (var w = File.AppendText("application.log"))
     {
         ILogReceiver receiver = new RabbitMQReceiver();
         receiver.Init();
         var severities = new[] { LogSeverity.Warning, LogSeverity.Error, LogSeverity.Critical };
         foreach (var severity in severities)
         {
             receiver.BindRoute(severity);
         }
         receiver.Listen((severity, message) => {
             w.WriteLine($"[{DateTime.Now:dd-MM-yyyy H:mm:ss}][{severity.Value.ToUpper()}]: {message}");
         });
         Console.WriteLine("Press any key to exit.");
         Console.ReadKey();
         receiver.Close();
     }
 }
Ejemplo n.º 7
0
 public Startup(IConfiguration configuration)
 {
     Configuration = configuration;
     RabbitMQReceiver client = new RabbitMQReceiver();
 }
        private void TestMessageBrokerReceivers()
        {
            IMessageReceiver <FileUploadedEvent> fileUploadedMessageQueueReceiver = null;
            IMessageReceiver <FileDeletedEvent>  fileDeletedMessageQueueReceiver  = null;

            if (AppSettings.MessageBroker.UsedRabbitMQ())
            {
                fileUploadedMessageQueueReceiver = new RabbitMQReceiver <FileUploadedEvent>(new RabbitMQReceiverOptions
                {
                    HostName  = AppSettings.MessageBroker.RabbitMQ.HostName,
                    UserName  = AppSettings.MessageBroker.RabbitMQ.UserName,
                    Password  = AppSettings.MessageBroker.RabbitMQ.Password,
                    QueueName = AppSettings.MessageBroker.RabbitMQ.QueueName_FileUploaded,
                });

                fileDeletedMessageQueueReceiver = new RabbitMQReceiver <FileDeletedEvent>(new RabbitMQReceiverOptions
                {
                    HostName  = AppSettings.MessageBroker.RabbitMQ.HostName,
                    UserName  = AppSettings.MessageBroker.RabbitMQ.UserName,
                    Password  = AppSettings.MessageBroker.RabbitMQ.Password,
                    QueueName = AppSettings.MessageBroker.RabbitMQ.QueueName_FileDeleted,
                });
            }

            if (AppSettings.MessageBroker.UsedKafka())
            {
                fileUploadedMessageQueueReceiver = new KafkaReceiver <FileUploadedEvent>(
                    AppSettings.MessageBroker.Kafka.BootstrapServers,
                    AppSettings.MessageBroker.Kafka.Topic_FileUploaded,
                    AppSettings.MessageBroker.Kafka.GroupId);

                fileDeletedMessageQueueReceiver = new KafkaReceiver <FileDeletedEvent>(
                    AppSettings.MessageBroker.Kafka.BootstrapServers,
                    AppSettings.MessageBroker.Kafka.Topic_FileDeleted,
                    AppSettings.MessageBroker.Kafka.GroupId);
            }

            if (AppSettings.MessageBroker.UsedAzureQueue())
            {
                fileUploadedMessageQueueReceiver = new AzureQueueReceiver <FileUploadedEvent>(
                    AppSettings.MessageBroker.AzureQueue.ConnectionString,
                    AppSettings.MessageBroker.AzureQueue.QueueName_FileUploaded);

                fileDeletedMessageQueueReceiver = new AzureQueueReceiver <FileDeletedEvent>(
                    AppSettings.MessageBroker.AzureQueue.ConnectionString,
                    AppSettings.MessageBroker.AzureQueue.QueueName_FileDeleted);
            }

            if (AppSettings.MessageBroker.UsedAzureServiceBus())
            {
                fileUploadedMessageQueueReceiver = new AzureServiceBusReceiver <FileUploadedEvent>(
                    AppSettings.MessageBroker.AzureServiceBus.ConnectionString,
                    AppSettings.MessageBroker.AzureServiceBus.QueueName_FileUploaded);

                fileDeletedMessageQueueReceiver = new AzureServiceBusReceiver <FileDeletedEvent>(
                    AppSettings.MessageBroker.AzureServiceBus.ConnectionString,
                    AppSettings.MessageBroker.AzureServiceBus.QueueName_FileDeleted);
            }

            var connection = new HubConnectionBuilder()
                             .WithUrl($"{AppSettings.NotificationServer.Endpoint}/SimulatedLongRunningTaskHub")
                             .AddMessagePackProtocol()
                             .Build();

            fileUploadedMessageQueueReceiver?.Receive(data =>
            {
                Thread.Sleep(5000); // simulate long running task

                string message = data.FileEntry.Id.ToString();

                connection.StartAsync().GetAwaiter().GetResult();

                connection.InvokeAsync("SendTaskStatus", $"{AppSettings.MessageBroker.Provider} - File Uploaded", message);

                connection.StopAsync().GetAwaiter().GetResult();
            });

            fileDeletedMessageQueueReceiver?.Receive(data =>
            {
                Thread.Sleep(5000); // simulate long running task

                string message = data.FileEntry.Id.ToString();

                connection.StartAsync().GetAwaiter().GetResult();

                connection.InvokeAsync("SendTaskStatus", $"{AppSettings.MessageBroker.Provider} - File Deleted", message);

                connection.StopAsync().GetAwaiter().GetResult();
            });
        }
Ejemplo n.º 9
0
        private void RunMessageBrokerReceivers()
        {
            IMessageReceiver <FileUploadedEvent> fileUploadedMessageQueueReceiver = null;
            IMessageReceiver <FileDeletedEvent>  fileDeletedMessageQueueReceiver  = null;

            if (AppSettings.MessageBroker.UsedRabbitMQ())
            {
                fileUploadedMessageQueueReceiver = new RabbitMQReceiver <FileUploadedEvent>(new RabbitMQReceiverOptions
                {
                    HostName  = AppSettings.MessageBroker.RabbitMQ.HostName,
                    UserName  = AppSettings.MessageBroker.RabbitMQ.UserName,
                    Password  = AppSettings.MessageBroker.RabbitMQ.Password,
                    QueueName = AppSettings.MessageBroker.RabbitMQ.QueueName_FileUploaded,
                    AutomaticCreateEnabled = true,
                    ExchangeName           = AppSettings.MessageBroker.RabbitMQ.ExchangeName,
                    RoutingKey             = AppSettings.MessageBroker.RabbitMQ.RoutingKey_FileUploaded,
                });

                fileDeletedMessageQueueReceiver = new RabbitMQReceiver <FileDeletedEvent>(new RabbitMQReceiverOptions
                {
                    HostName  = AppSettings.MessageBroker.RabbitMQ.HostName,
                    UserName  = AppSettings.MessageBroker.RabbitMQ.UserName,
                    Password  = AppSettings.MessageBroker.RabbitMQ.Password,
                    QueueName = AppSettings.MessageBroker.RabbitMQ.QueueName_FileDeleted,
                    AutomaticCreateEnabled = true,
                    ExchangeName           = AppSettings.MessageBroker.RabbitMQ.ExchangeName,
                    RoutingKey             = AppSettings.MessageBroker.RabbitMQ.RoutingKey_FileDeleted,
                });
            }

            if (AppSettings.MessageBroker.UsedKafka())
            {
                fileUploadedMessageQueueReceiver = new KafkaReceiver <FileUploadedEvent>(
                    AppSettings.MessageBroker.Kafka.BootstrapServers,
                    AppSettings.MessageBroker.Kafka.Topic_FileUploaded,
                    AppSettings.MessageBroker.Kafka.GroupId);

                fileDeletedMessageQueueReceiver = new KafkaReceiver <FileDeletedEvent>(
                    AppSettings.MessageBroker.Kafka.BootstrapServers,
                    AppSettings.MessageBroker.Kafka.Topic_FileDeleted,
                    AppSettings.MessageBroker.Kafka.GroupId);
            }

            if (AppSettings.MessageBroker.UsedAzureQueue())
            {
                fileUploadedMessageQueueReceiver = new AzureQueueReceiver <FileUploadedEvent>(
                    AppSettings.MessageBroker.AzureQueue.ConnectionString,
                    AppSettings.MessageBroker.AzureQueue.QueueName_FileUploaded);

                fileDeletedMessageQueueReceiver = new AzureQueueReceiver <FileDeletedEvent>(
                    AppSettings.MessageBroker.AzureQueue.ConnectionString,
                    AppSettings.MessageBroker.AzureQueue.QueueName_FileDeleted);
            }

            if (AppSettings.MessageBroker.UsedAzureServiceBus())
            {
                fileUploadedMessageQueueReceiver = new AzureServiceBusReceiver <FileUploadedEvent>(
                    AppSettings.MessageBroker.AzureServiceBus.ConnectionString,
                    AppSettings.MessageBroker.AzureServiceBus.QueueName_FileUploaded);

                fileDeletedMessageQueueReceiver = new AzureServiceBusReceiver <FileDeletedEvent>(
                    AppSettings.MessageBroker.AzureServiceBus.ConnectionString,
                    AppSettings.MessageBroker.AzureServiceBus.QueueName_FileDeleted);
            }

            var notification = new SignalRNotification();
            var endpoint     = $"{AppSettings.NotificationServer.Endpoint}/SimulatedLongRunningTaskHub";

            fileUploadedMessageQueueReceiver?.Receive(data =>
            {
                Thread.Sleep(5000); // simulate long running task

                string message = data.FileEntry.Id.ToString();

                notification.Send(endpoint, "SendTaskStatus", new { Step = $"{AppSettings.MessageBroker.Provider} - File Uploaded", Message = message });
            });

            fileDeletedMessageQueueReceiver?.Receive(data =>
            {
                Thread.Sleep(5000); // simulate long running task

                string message = data.FileEntry.Id.ToString();

                notification.Send(endpoint, "SendTaskStatus", new { Step = $"{AppSettings.MessageBroker.Provider} - File Deleted", Message = message });
            });
        }
        private static void Main(string[] args)
        {
            var connection = new HubConnectionBuilder()
                             .WithUrl("http://localhost:62710/SimulatedLongRunningTaskHub")
                             .AddMessagePackProtocol()
                             .Build();

            connection.On <string>("ReceiveTaskStatus", (message) => { Console.WriteLine(message); });
            connection.StartAsync().GetAwaiter().GetResult();

            var rabbitMQFileUploadedEventReceiver = new RabbitMQReceiver <FileUploadedEvent>(new RabbitMQReceiverOptions
            {
                HostName  = "localhost",
                UserName  = "******",
                Password  = "******",
                QueueName = "classifiedadds_fileuploaded",
            });

            rabbitMQFileUploadedEventReceiver.Receive(data =>
            {
                Console.WriteLine("RabbitMQ - File Uploaded: " + data.FileEntry.Id);
            });

            var rabbitMQFileDeletedEventReceiver = new RabbitMQReceiver <FileDeletedEvent>(new RabbitMQReceiverOptions
            {
                HostName  = "localhost",
                UserName  = "******",
                Password  = "******",
                QueueName = "classifiedadds_filedeleted",
            });

            rabbitMQFileDeletedEventReceiver.Receive(data =>
            {
                Console.WriteLine("RabbitMQ - File Deleted: " + data.FileEntry.Id);
            });

            var kafkaFileUploadedEventReceiver = new KafkaReceiver <FileUploadedEvent>("localhost:9092", "classifiedadds_fileuploaded", "classified");

            kafkaFileUploadedEventReceiver.Receive(data =>
            {
                Console.WriteLine("Kafka - File Uploaded: " + data.FileEntry.Id);
            });

            var kafkaFileDeletedEventReceiver = new KafkaReceiver <FileDeletedEvent>("localhost:9092", "classifiedadds_filedeleted", "classified");

            kafkaFileDeletedEventReceiver.Receive(data =>
            {
                Console.WriteLine("Kafka - File Deleted: " + data.FileEntry.Id);
            });

            var azureQueueFileUploadedEventReceiver = new AzureQueueReceiver <FileUploadedEvent>("DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=xxx;EndpointSuffix=core.windows.net", "classifiedadds-fileuploaded");

            azureQueueFileUploadedEventReceiver.Receive(data =>
            {
                Console.WriteLine("AzureQueue - File Uploaded:" + data.FileEntry.Id);
            });

            var azureQueueFileDeletedEventReceiver = new AzureQueueReceiver <FileDeletedEvent>("DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=xxx;EndpointSuffix=core.windows.net", "classifiedadds-filedeleted");

            azureQueueFileDeletedEventReceiver.Receive(data =>
            {
                Console.WriteLine("AzureQueue - File Deleted:" + data.FileEntry.Id);
            });

            var azureServiceBusFileUploadedEventReceiver = new AzureServiceBusReceiver <FileUploadedEvent>("Endpoint=sb://xxx.servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=xxx", "classifiedadds_fileuploaded");

            azureServiceBusFileUploadedEventReceiver.Receive(data =>
            {
                Console.WriteLine("AzureServiceBus - File Uploaded:" + data.FileEntry.Id);
            });

            var azureServiceBusFileDeletedEventReceiver = new AzureServiceBusReceiver <FileDeletedEvent>("Endpoint=sb://xxx.servicebus.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=xxx", "classifiedadds_filedeleted");

            azureServiceBusFileDeletedEventReceiver.Receive(data =>
            {
                Console.WriteLine("AzureServiceBus - File Deleted:" + data.FileEntry.Id);
            });

            Console.WriteLine("Listening...");
            Console.ReadLine();

            rabbitMQFileUploadedEventReceiver.Dispose();
            rabbitMQFileDeletedEventReceiver.Dispose();
        }
Ejemplo n.º 11
0
 public Startup(IConfiguration configuration, IHostingEnvironment env)
 {
     Configuration = configuration;
     RabbitMQReceiver client = new RabbitMQReceiver();
 }