public void AttachToConsumer <TMessage>(IMQConsumerConfigurator <TMessage> configurator, IMQServiceProvider provider)
            where TMessage : class
        {
            CheckIsMessageConsumer <TMessage>();

            configurator.Consume(() => new MQMessageConsumeExecutor <TMessage, TMessageConsumer>(provider));
        }
        public void ConfigureMessageConsumer <TMessage, TMessageConsumer>(IMQConsumerConfigurator <TMessage> configurator)
            where TMessage : class
            where TMessageConsumer : class, IMQMessageConsumer
        {
            var messageConsumerRegistration = GetMessageConsumerRegistration <TMessageConsumer>();

            messageConsumerRegistration.AttachToConsumer(configurator, ServiceProvider);
        }
        public void AttachToConsumer <TMessage, TContent>(IMQConsumerConfigurator <TMessage> configurator, IMQServiceProvider provider)
            where TMessage : class
            where TContent : class
        {
            CheckIsTypedMessageConsumer <TMessage, TContent>();

            configurator.TypedConsume(deserializer =>
            {
                return(new MQTypedMessageConsumeExecutor <TMessage, TContent, TMessageConsumer>(provider, deserializer));
            });
        }
 public static void BindMessageConsumer <TMessage, TMessageConsumer>(this IMQConsumerConfigurator <TMessage> configurator, IMQBusRegistration registration)
     where TMessage : class
     where TMessageConsumer : class, IMQMessageConsumer
 {
     registration.ConfigureMessageConsumer <TMessage, TMessageConsumer>(configurator);
 }