/// <summary> /// Subscribe a consumer with a default constructor to the bus's default endpoint /// </summary> /// <typeparam name="TConsumer"></typeparam> /// <param name="bus"></param> /// <param name="pipeSpecifications"></param> /// <returns></returns> public static ConnectHandle ConnectConsumer <TConsumer>(this IBus bus, params IPipeSpecification <ConsumerConsumeContext <TConsumer> >[] pipeSpecifications) where TConsumer : class, IConsumer, new() { if (bus == null) { throw new ArgumentNullException(nameof(bus)); } return(bus.ConnectConsumer(new DefaultConstructorConsumerFactory <TConsumer>(), pipeSpecifications)); }
/// <summary> /// Subscribe a consumer with a consumer factor method to the bus's default endpoint /// </summary> /// <typeparam name="TConsumer"></typeparam> /// <param name="bus"></param> /// <param name="consumerFactoryMethod"></param> /// <returns></returns> public static ConnectHandle ConnectConsumer <TConsumer>(this IBus bus, Func <TConsumer> consumerFactoryMethod) where TConsumer : class, IConsumer { if (_log.IsDebugEnabled) { _log.DebugFormat("Subscribing Consumer: {0} (using delegate consumer factory)", typeof(TConsumer)); } var consumerFactory = new DelegateConsumerFactory <TConsumer>(consumerFactoryMethod); return(bus.ConnectConsumer(consumerFactory)); }