Exemplo n.º 1
0
        /// <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));
        }
Exemplo n.º 2
0
        /// <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));
        }