public static HubConfiguration UseRabbitMq(this HubConfiguration @this, RabbitMqScaleoutConfiguration scaleoutConfiguration) { var bus = new Lazy<RabbitMqMessageBus>(() => new RabbitMqMessageBus(@this.Resolver, scaleoutConfiguration)); @this.Resolver.Register(typeof (IMessageBus), () => bus.Value); return @this; }
private static ConnectionFactory CreateConnectionFactory(RabbitMqScaleoutConfiguration configuration) { var connectionFactory = new ConnectionFactory { UserName = configuration.UserName, Password = configuration.Password, VirtualHost = configuration.VirtualHost ?? "", Protocol = new Protocol() }; return connectionFactory; }
public RabbitMqMessageBus(IDependencyResolver resolver, RabbitMqScaleoutConfiguration configuration) : base(resolver, configuration) { Open(0); var connectionFactory = CreateConnectionFactory(configuration); connection = connectionFactory.CreateConnection(); model = connection.CreateModel(); var exchange = configuration.ExchangeName ?? "messages"; model.QueueDeclare(configuration.QueueName, false, false, true, new Hashtable()); model.ExchangeDeclare(exchange, ExchangeType.Fanout); model.QueueBind(configuration.QueueName, exchange, ""); consumerTag = model.BasicConsume(configuration.QueueName, true, new Consumer(this.OnReceived)); }
public RabbitMqMessageBus(IDependencyResolver resolver, RabbitMqScaleoutConfiguration configuration) : base(resolver, configuration) { Open(0); var connectionFactory = CreateConnectionFactory(configuration); connection = connectionFactory.CreateConnection(); model = connection.CreateModel(); model.QueueDeclare(configuration.QueueName, false, false, true, new Hashtable()); model.ExchangeDeclare(configuration.ExchangeName, ExchangeType.Fanout); model.QueueBind(configuration.QueueName, configuration.ExchangeName, ""); consumerTag = model.BasicConsume(configuration.QueueName, true, new Consumer(this.OnReceived)); this.configuration = configuration; }
private static ConnectionFactory CreateConnectionFactory(RabbitMqScaleoutConfiguration configuration) { if (configuration.RabbitMqUri != null) { return new ConnectionFactory() { Uri = configuration.RabbitMqUri.ToString(), }; } else { return new ConnectionFactory { HostName = configuration.HostName, UserName = configuration.UserName, Password = configuration.Password, VirtualHost = configuration.VirtualHost, Protocol = new Protocol(), Port = configuration.Port, }; } }
private static ConnectionFactory CreateConnectionFactory(RabbitMqScaleoutConfiguration configuration) { if (configuration.RabbitMqUri != null) { return(new ConnectionFactory() { Uri = configuration.RabbitMqUri.ToString(), }); } else { return(new ConnectionFactory { HostName = configuration.HostName, UserName = configuration.UserName, Password = configuration.Password, VirtualHost = configuration.VirtualHost, Protocol = new Protocol(), Port = configuration.Port, }); } }