Example #1
0
        public Publisher(IBrokerConfiguration configurations, ISerializer serialize)
        {
            _exchange   = configurations.TopicName;
            _serializer = serialize;


            var connectionFactory = new ConnectionFactory
            {
                HostName = configurations.HostName,
            };

            if (configurations.Port != null)
            {
                connectionFactory.Port = configurations.Port.Value;
            }

            if (!string.IsNullOrEmpty(configurations.UserName))
            {
                connectionFactory.UserName = configurations.UserName;
            }

            if (!string.IsNullOrEmpty(configurations.Password))
            {
                connectionFactory.Password = configurations.Password;
            }

            if (!string.IsNullOrEmpty(configurations.VirtualHost))
            {
                connectionFactory.VirtualHost = configurations.VirtualHost;
            }

            _connectionWithBroker = connectionFactory.CreateConnection();
        }
        public static string FromConfig(IBrokerConfiguration config)
        {
            var builder = new UriBuilder
            {
                Scheme = "ws",
                Path = "ws",
                Host = config.Host,
                Port = config.Port
            };

            return builder.ToString();
        }
Example #3
0
        public static string FromConfig(IBrokerConfiguration config)
        {
            var builder = new UriBuilder
            {
                Scheme = "ws",
                Path   = "ws",
                Host   = config.Host,
                Port   = config.Port
            };

            return(builder.ToString());
        }
Example #4
0
        public Consumer(Type assemblyBase, IBrokerConfiguration configurations, ISerializer serialize)
        {
            _exchange          = configurations.TopicName;
            _subscribeName     = configurations.SubscribeName;
            _serializer        = serialize;
            _messageRepository = FactoryMessageControlRecovery.GetMessageRepositoryInstance(configurations.ConnectionString, configurations.SubscribeName);

            var connectionFactory = new ConnectionFactory
            {
                HostName = configurations.HostName,
            };

            if (configurations.Port != null)
            {
                connectionFactory.Port = configurations.Port.Value;
            }

            if (!string.IsNullOrEmpty(configurations.UserName))
            {
                connectionFactory.UserName = configurations.UserName;
            }

            if (!string.IsNullOrEmpty(configurations.Password))
            {
                connectionFactory.Password = configurations.Password;
            }

            if (!string.IsNullOrEmpty(configurations.VirtualHost))
            {
                connectionFactory.VirtualHost = configurations.VirtualHost;
            }

            _connectionWithBroker = connectionFactory.CreateConnection();

            _channels = new List <IModel>();

            var assembly = assemblyBase.Assembly;

            foreach (var requestTypeAddress in assembly.GetTypes().Where(filterType => filterType.GetInterfaces().Contains(typeof(IRequest))))
            {
                _messageTypeAddresses.Add(requestTypeAddress, requestTypeAddress.Name);
            }

            foreach (var notificationTypeAddress in assembly.GetTypes().Where(filterType => filterType.GetInterfaces().Contains(typeof(INotification))))
            {
                _messageTypeAddresses.Add(notificationTypeAddress, notificationTypeAddress.Name);
            }

            _routingKeys = (from query in _messageTypeAddresses select query.Value).ToArray();
        }
        public GroupedCallbackConsumer(IModel model, IMessageSerializer serializer, IBrokerConfiguration config)
        {
            Model = model;
            Serializer = serializer;
            Config = config;
            IsRunning = true;
            QueueConsumers = new Dictionary<string, QueueConsumer>();

            this._consumerWorkerThread = new Thread(StartBackgroundConsume)
                               {
                                   IsBackground = true,
                                   Name = "RabbitMQ Consumer Queue"
                               };
            this._consumerWorkerThread.Start();

            this._requeueWorkerThread = new Thread(StartBackgroundRequeue)
                                {
                                    IsBackground = true,
                                    Name = "RabbitMQ Delayed Reject Queue"
                                };
            this._requeueWorkerThread.Start();
        }
 public static BrokerConnection Create(IBrokerConfiguration config)
 {
     return new BrokerConnection(BrokerUri.FromConfig(config), config.Realm);
 }
 public static RabbitMQConnection Create(IBrokerConfiguration config) => new RabbitMQConnection(config.Host, config.Port);
 public static BrokerConnection Create(IBrokerConfiguration config)
 {
     return(new BrokerConnection(BrokerUri.FromConfig(config), config.Realm));
 }
 public BrokerConnectionFactory(IBrokerConfiguration configuration)
 {
     this._configuration = configuration;
 }