public static IRabbitMQExchangeBuilder AddExchange(
            this IRabbitMQConnectionBuilder connection,
            string type,
            string name)
        {
            var declaration = new RabbitMQExchangeDeclaration(connection.ConnectionDeclaration, type, name);

            connection.Services
            .Configure <RabbitMQOptions>(options => options.ExchangeDeclarations.Add(declaration));

            return(new RabbitMQExchangeBuilder(declaration));
        }
        public static IRabbitMQQueueBuilder <TPayload> AddQueue <TPayload>(
            this IRabbitMQConnectionBuilder connection,
            string queueName)
        {
            var declaration = new RabbitMQQueueDeclaration(connection.ConnectionDeclaration, queueName);

            connection.Services
            .Configure <RabbitMQOptions>(
                options => options.QueueDeclarations.Add(declaration));

            return(new RabbitMQQueueBuilder <TPayload>(declaration));
        }
Esempio n. 3
0
        private static IRabbitMQProducerBuilder <TPayload> AddProducer <TPayload>(
            this IRabbitMQConnectionBuilder connection,
            IRabbitMQExchangeBuilderCore exchange)
        {
            var declaration = new RabbitMQProducerDeclaration(
                typeof(TPayload),
                connection.ConnectionDeclaration,
                exchange.ExchangeDeclaration);

            connection.Services
            .Configure <RabbitMQOptions>(
                options => options.ProducerDeclarations.Add(typeof(TPayload), declaration));

            return(new RabbitMQProducerBuilder <TPayload>(declaration));
        }
Esempio n. 4
0
        public static IRabbitMQConsumerBuilder <TPayload> AddConsumer <TPayload>(
            this IRabbitMQConnectionBuilder connection,
            params IRabbitMQQueueBuilder <TPayload>[] queues)
        {
            var declaration = new RabbitMQConsumerDeclaration(
                typeof(TPayload),
                connection.ConnectionDeclaration,
                queues.Select(queue => queue.Declaration).ToArray());

            connection.Services
            .Configure <RabbitMQOptions>(
                options => options.ConsumerDeclarations.Add(declaration));

            return(new RabbitMQConsumerBuilder <TPayload>(declaration));
        }
Esempio n. 5
0
 public static IRabbitMQProducerBuilder <TPayload> AddProducer <TPayload>(
     this IRabbitMQConnectionBuilder connection,
     IRabbitMQExchangeBuilder <TPayload> exchange)
 {
     return(connection.AddProducer <TPayload>((IRabbitMQExchangeBuilderCore)exchange));
 }
 public static IRabbitMQExchangeBuilder <TPayload> AddHeadersExchange <TPayload>(
     this IRabbitMQConnectionBuilder connection,
     string name)
 {
     return(connection.AddExchange <TPayload>(ExchangeType.Headers, name));
 }
 public static IRabbitMQExchangeBuilder AddTopicExchange(
     this IRabbitMQConnectionBuilder connection,
     string name)
 {
     return(connection.AddExchange(ExchangeType.Topic, name));
 }