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)); }
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)); }
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)); }
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)); }