/// <summary> /// Declare exchange to exchange binding /// </summary> public static IRabbitMQExchangeBuilder <TPayload> BoundTo <TPayload>( this IRabbitMQExchangeBuilder <TPayload> builder, IRabbitMQExchangeBuilder exchange, Action <IRabbitMQExchangeBindingBuilder> binding = null) { return(builder.BoundTo <IRabbitMQExchangeBuilder <TPayload> >(exchange, binding)); }
/// <summary> /// Declare exchange to exchange binding /// </summary> public static IRabbitMQExchangeBuilder BoundTo( this IRabbitMQExchangeBuilder builder, IRabbitMQExchangeBuilderCore exchange, Action <IRabbitMQExchangeBindingBuilder> binding = null) { return(builder.BoundTo <IRabbitMQExchangeBuilder>(exchange, binding)); }
/// <summary> /// Declare x-dead-letter-exchange argument. When message is dead, send to x-dead-letter-exchange. /// Declare x-dead-letter-routing-key argument. When message is dead, send to x-dead-letter-exchange with routing key. /// </summary> public static IRabbitMQQueueBuilder <TPayload> DeadLetterTo <TPayload>( this IRabbitMQQueueBuilder <TPayload> builder, IRabbitMQExchangeBuilder exchange, string routingKey = null) { return(builder.DeadLetterTo((IRabbitMQExchangeBuilderCore)exchange, routingKey)); }
/// <summary> /// Declare x-dead-letter-exchange argument. When message is dead, send to x-dead-letter-exchange. /// Declare x-dead-letter-routing-key argument. When message is dead, send to x-dead-letter-exchange with routing key. /// </summary> public static IRabbitMQQueueBuilder <TPayload> DeadLetterTo <TPayload>( this IRabbitMQQueueBuilder <TPayload> builder, IRabbitMQExchangeBuilder exchange, IRabbitMQQueueBuilder <TPayload> queue) { var binding = queue.Declaration .BindingDeclarations .FirstOrDefault(b => b.ExchangeDeclaration == exchange.ExchangeDeclaration); return(builder.DeadLetterTo(exchange, binding?.RoutingKey ?? queue.Declaration.Name)); }
/// <summary> /// Declare alternate-exchange argument. When message can't be routed in current exchange, /// instead of mark as dead, publish to specified exchange /// </summary> public static IRabbitMQExchangeBuilder <TPayload> AlternateTo <TPayload>( this IRabbitMQExchangeBuilder <TPayload> builder, IRabbitMQExchangeBuilder exchange) { return(builder.AlternateTo <IRabbitMQExchangeBuilder <TPayload> >(exchange)); }
/// <summary> /// Declare alternate-exchange argument. When message can't be routed in current exchange, /// instead of mark as dead, publish to specified exchange /// </summary> public static IRabbitMQExchangeBuilder AlternateTo( this IRabbitMQExchangeBuilder builder, IRabbitMQExchangeBuilderCore exchange) { return(builder.AlternateTo <IRabbitMQExchangeBuilder>(exchange)); }
public static IRabbitMQProducerBuilder <TPayload> AddProducer <TPayload>( this IRabbitMQConnectionBuilder connection, IRabbitMQExchangeBuilder <TPayload> exchange) { return(connection.AddProducer <TPayload>((IRabbitMQExchangeBuilderCore)exchange)); }