Inheritance: IPublisherConfigurator
Exemplo n.º 1
0
        public IPublisher CreatePublisher(Action <IPublisherConfigurator> configure = null)
        {
            PublisherConfigurator configuration = _createPublisherConfigurator(configure);

            IModel model = _connection.CreateModel();

            return(new Publisher(model, BusId, configuration, _messageHelper, _sendHelper));
        }
Exemplo n.º 2
0
        public Publisher(IModel model, string busId, PublisherConfigurator configuration, IMessageHelper messageHelper)
        {
            _model         = model;
            _configuration = configuration;
            _messageHelper = messageHelper;
            _busId         = busId;

            _model.BasicReturn += ModelOnBasicReturn;
        }
Exemplo n.º 3
0
        protected PublisherBase(IModel model, string busId, PublisherConfigurator configuration, IMessageHelper messageHelper, ISendHelper sendHelper)
        {
            _model         = model;
            _configuration = configuration;
            _messageHelper = messageHelper;
            _sendHelper    = sendHelper;
            _busId         = busId;

            _model.BasicReturn += ModelOnBasicReturn;
        }
Exemplo n.º 4
0
        protected PublisherBase(IModel model, string busId, PublisherConfigurator configuration, IMessageHelper messageHelper, ISendHelper sendHelper)
        {
            _model = model;
            _configuration = configuration;
            _messageHelper = messageHelper;
            _sendHelper = sendHelper;
            _busId = busId;

            _model.BasicReturn += ModelOnBasicReturn;
        }
Exemplo n.º 5
0
        public IPublisher CreatePublisher(Action <IPublisherConfigurator> configure = null)
        {
            PublisherConfigurator configurator = new PublisherConfigurator();

            if (configure != null)
            {
                configure(configurator);
            }

            return(OnCreatePublisher(configurator));
        }
Exemplo n.º 6
0
        public IRpcPublisher CreateRpcPublisher(Action <IPublisherConfigurator> configure = null)
        {
            PublisherConfigurator configuration = _createPublisherConfigurator(configure);

            IModel model = _connection.CreateModel();

            IRpcConsumer consumer = new RpcConsumer(model, _messageHelper, new Dictionary <string, ISerializer>
            {
                { configuration.Serializer.ContentType, configuration.Serializer }
            });

            return(new RpcPublisher(model, BusId, configuration, _messageHelper, _sendHelper, consumer));
        }
Exemplo n.º 7
0
        internal override IPublisher OnCreatePublisher(PublisherConfigurator configurator)
        {
            IKnownContractCollector collector = new KnownContractCollector();

            IFaultMessageProcessor faultMessageProcessor = new FaultMessageProcessor(configurator.ErrorHandler, collector);

            RabbitMQTransportOutputChannel outputChannel = CreateOutputChannel(configurator.BufferManager, faultMessageProcessor) as RabbitMQTransportOutputChannel;

            if (outputChannel == null)
            {
                throw new NoIncomingConnectionAcceptedException();
            }

            return(new Publisher(outputChannel, _binding.MessageVersion, collector, BusId));
        }
Exemplo n.º 8
0
 public ConfirmPublisher(IModel model, string busId, PublisherConfigurator configuration, IMessageHelper messageHelper)
     : base(model, busId, configuration, messageHelper)
 {
     _model.ConfirmSelect();
 }
Exemplo n.º 9
0
        public RabbitMQBus(Action <IBusConfigurator> busConfigurator = null)
        {
            BusConfigurator busConfiguration = new BusConfigurator();

            if (busConfigurator != null)
            {
                busConfigurator(busConfiguration);
            }

            BusId = busConfiguration.BusId;

            _exchange = "amq.headers";

            string username = "******";
            string password = "******";

            if (!string.IsNullOrEmpty(busConfiguration.ConnectionString.Endpoint))
            {
                _exchange = busConfiguration.ConnectionString.Endpoint;
            }

            if (!string.IsNullOrEmpty(busConfiguration.ConnectionString.Username))
            {
                username = busConfiguration.ConnectionString.Username;
            }

            if (!string.IsNullOrEmpty(busConfiguration.ConnectionString.Password))
            {
                password = busConfiguration.ConnectionString.Password;
            }

            ConnectionFactory factory = new ConnectionFactory
            {
                HostName = busConfiguration.ConnectionString.Host,
                Port     = busConfiguration.ConnectionString.Port,
                AutomaticRecoveryEnabled = true,
                TopologyRecoveryEnabled  = true,
                UserName    = username,
                Password    = password,
                VirtualHost = busConfiguration.ConnectionString.VirtualHost
            };

            _connection = factory.CreateConnection();

            _createSubscriberConfigurator = configure =>
            {
                SubscriberConfigurator configurator = new SubscriberConfigurator(_exchange, busConfiguration.ErrorSubscriber, busConfiguration.ReceiveSelfPublish);

                if (configure != null)
                {
                    configure(configurator);
                }

                return(configurator);
            };

            _createPublisherConfigurator = configure =>
            {
                PublisherConfigurator configurator = new PublisherConfigurator(_exchange, busConfiguration.ErrorHandler);

                if (configure != null)
                {
                    configure(configurator);
                }

                return(configurator);
            };
        }
Exemplo n.º 10
0
 public ConfirmPublisher(IModel model, string busId, PublisherConfigurator configuration, IMessageHelper messageHelper)
     : base(model, busId, configuration, messageHelper)
 {
     _model.ConfirmSelect();
 }
Exemplo n.º 11
0
 public TransactionalPublisher(IModel model, string busId, PublisherConfigurator configuration, IMessageHelper messageHelper)
     : base(model, busId, configuration, messageHelper)
 {
     _model.TxSelect();
 }
Exemplo n.º 12
0
 internal abstract IPublisher OnCreatePublisher(PublisherConfigurator configuration);
Exemplo n.º 13
0
        public RpcPublisher(IModel model, string busId, PublisherConfigurator configuration, IMessageHelper messageHelper, ISendHelper sendHelper, IRpcConsumer consumer) : base(model, busId, configuration, messageHelper, sendHelper)
        {
            _consumer = consumer;

            model.BasicConsume(Queue, true, consumer);
        }
Exemplo n.º 14
0
 public Publisher(IModel model, string busId, PublisherConfigurator configuration, IMessageHelper messageHelper, ISendHelper sendHelper) : base(model, busId, configuration, messageHelper, sendHelper)
 {
 }
Exemplo n.º 15
0
        public RabbitMQBus(Action <IBusConfigurator> busConfigurator = null)
        {
            BusConfigurator busConfiguration = new BusConfigurator();

            if (busConfigurator != null)
            {
                busConfigurator(busConfiguration);
            }

            BusId             = busConfiguration.BusId;
            BusConnectionName = busConfiguration.ConnectionProvidedName;

            _exchange = "amq.headers";

            string username = "******";
            string password = "******";

            if (!string.IsNullOrEmpty(busConfiguration.ConnectionString.Endpoint))
            {
                _exchange = busConfiguration.ConnectionString.Endpoint;
            }

            if (!string.IsNullOrEmpty(busConfiguration.ConnectionString.Username))
            {
                username = busConfiguration.ConnectionString.Username;
            }

            if (!string.IsNullOrEmpty(busConfiguration.ConnectionString.Password))
            {
                password = busConfiguration.ConnectionString.Password;
            }

            ConnectionFactory factory = new ConnectionFactory
            {
                HostName = busConfiguration.ConnectionString.Host,
                Port     = busConfiguration.ConnectionString.Port,
                AutomaticRecoveryEnabled = true,
                TopologyRecoveryEnabled  = true,
                UserName               = username,
                Password               = password,
                VirtualHost            = busConfiguration.ConnectionString.VirtualHost,
                DispatchConsumersAsync = true
            };

            _connection = factory.CreateConnection(busConfiguration.ConnectionProvidedName);

            _connection.ConnectionBlocked += (sender, args) =>
            {
                busConfiguration.ConnectionBlocked(args.Reason);
            };

            _connection.ConnectionUnblocked += (sender, args) =>
            {
                busConfiguration.ConnectionUnblocked();
            };

            _createSubscriberConfigurator = configure =>
            {
                SubscriberConfigurator configurator = new SubscriberConfigurator(_exchange, busConfiguration.ReplyExchange, busConfiguration.ErrorSubscriber, busConfiguration.ReceiveSelfPublish, busConfiguration.Trace, () => busConfiguration.Blocked);

                if (configure != null)
                {
                    configure(configurator);
                }

                return(configurator);
            };

            _createPublisherConfigurator = configure =>
            {
                PublisherConfigurator configurator = new PublisherConfigurator(_exchange, busConfiguration.ErrorHandler, busConfiguration.Trace, () => busConfiguration.Blocked);

                if (configure != null)
                {
                    configure(configurator);
                }

                return(configurator);
            };

            _createRpcPublisherConfigurator = configure =>
            {
                RpcPublisherConfigurator configurator = new RpcPublisherConfigurator(_exchange, busConfiguration.UseFastReply, busConfiguration.ReplyExchange, busConfiguration.ErrorHandler, busConfiguration.Trace, () => busConfiguration.Blocked);

                if (configure != null)
                {
                    configure(configurator);
                }

                return(configurator);
            };
        }
Exemplo n.º 16
0
 public TransactionalPublisher(IModel model, string busId, PublisherConfigurator configuration, IMessageHelper messageHelper, ISendHelper sendHelper)
     : base(model, busId, configuration, messageHelper, sendHelper)
 {
     _model.TxSelect();
 }