/// <summary> /// Configures (declares) the production (publishing for pub/sub or request sending in request/response) of a message /// </summary> /// <param name="messageType">Type of the message</param> /// <param name="producerBuilder"></param> /// <returns></returns> public MessageBusBuilder Produce(Type messageType, Action <ProducerBuilder <object> > producerBuilder) { var item = new ProducerSettings(); producerBuilder(new ProducerBuilder <object>(item, messageType)); Settings.Producers.Add(item); return(this); }
/// <summary> /// Configures (declares) the production (publishing for pub/sub or request sending in request/response) of a message /// </summary> /// <typeparam name="T">Type of the message</typeparam> /// <param name="producerBuilder"></param> /// <returns></returns> public MessageBusBuilder Produce <T>(Action <ProducerBuilder <T> > producerBuilder) { var item = new ProducerSettings(); producerBuilder(new ProducerBuilder <T>(item)); Settings.Producers.Add(item); return(this); }
/// <summary> /// Configures (declares) the production (publishing for pub/sub or request sending in request/response) of a message /// </summary> /// <param name="messageType">Type of the message</param> /// <param name="producerBuilder"></param> /// <returns></returns> public MessageBusBuilder Produce(Type messageType, Action <ProducerBuilder <object> > producerBuilder) { if (producerBuilder == null) { throw new ArgumentNullException(nameof(producerBuilder)); } var item = new ProducerSettings(); producerBuilder(new ProducerBuilder <object>(item, messageType)); Settings.Producers.Add(item); return(this); }
public ProducerBuilder(ProducerSettings settings, Type messageType) { Settings = settings; Settings.MessageType = messageType; }
public ProducerBuilder(ProducerSettings settings) : this(settings, typeof(T)) { }
public ProducerBuilder(ProducerSettings settings, Type messageType) { Settings = settings ?? throw new ArgumentNullException(nameof(settings)); Settings.MessageType = messageType; }