public EventBusRabbitMqConsumer(IRabbitMqConnection connection, IMediator mediator, IMapper mapper, IOrderRepository repository)
 {
     _connection = connection;
     _mediator   = mediator;
     _mapper     = mapper;
     _repository = repository;
 }
コード例 #2
0
 public EventDispatcher(IRabbitMqConnection connection)
 {
     _connection = connection;
     Setup();
     _handlers = new Dictionary <string, MethodInfo>();
     FindHandlers();
 }
コード例 #3
0
 public RabbitMqBus(string endpointId, string endpointName)
 {
     _rabbitMqConnection = new RabbitMqConnection();
     _endpointId         = endpointId;
     _endpointName       = endpointName;
     //  Subscribe();
 }
コード例 #4
0
 public EventBusRabbitMqConsumer(IOrderRepository orderRepository, IMapper mapper, IMediator mediator, IRabbitMqConnection rabbitMqConnection)
 {
     _orderRepository    = orderRepository;
     _mapper             = mapper;
     _mediator           = mediator;
     _rabbitMqConnection = rabbitMqConnection;
 }
コード例 #5
0
 public EventBusRabbitMqConsumer(IRabbitMqConnection connection, IMediator mediator, IMapper mapper, IOrderPepository repository)
 {
     _connection = connection ?? throw new ArgumentNullException(nameof(connection));
     _mediator   = mediator ?? throw new ArgumentNullException(nameof(mediator));
     _mapper     = mapper ?? throw new ArgumentNullException(nameof(mapper));
     _repository = repository ?? throw new ArgumentNullException(nameof(repository));
 }
コード例 #6
0
 public DeadLetterQueueFactory(
     IRabbitMqConnection connectionManager,
     IOptions <NetRabbitConfiguration> options)
 {
     this.connectionManager = connectionManager ?? throw new ArgumentNullException(nameof(connectionManager));
     this.options           = options.Value ?? throw new ArgumentNullException(nameof(options));
 }
コード例 #7
0
 public RpcCallConsumer(string exchangeName, IServiceProvider serviceProvider, IRabbitMqConnection connection)
 {
     _queueName       = typeof(TRequest).Name;
     _exchangeName    = exchangeName;
     _serviceProvider = serviceProvider;
     _connection      = connection;
 }
コード例 #8
0
 public RabbitMqConsumer(string queueName, IServiceProvider serviceProvider, IRabbitMqConnection connection)
 {
     _queueName         = queueName;
     _messageHandler    = new MessageHandler(serviceProvider);
     _connection        = connection;
     _supportedMessages = new Dictionary <string, Type>();
 }
コード例 #9
0
 public AuditLogger(IEventRepository eventRepo, IRabbitMqConnection connection, ILogService logger)
 {
     _eventRepo  = eventRepo;
     _connection = connection;
     _logger     = logger;
     Setup();
 }
コード例 #10
0
 public RabbitMqConsumer(string exchange, string queueName, IServiceProvider serviceProvider, IRabbitMqConnection connection)
 {
     _exchange          = exchange;
     _queueName         = queueName;
     _connection        = connection;
     _supportedMessages = new Dictionary <string, Type>();
     _serviceProvider   = serviceProvider;
 }
コード例 #11
0
 public RabbitMqPublisher(ILogWriter logWriter,
                          IRabbitMqConnection connection,
                          RabbitMQConfiguration rabbitConfig)
 {
     _logWriter    = logWriter;
     _connection   = connection;
     _rabbitConfig = rabbitConfig;
 }
コード例 #12
0
 /// <summary>
 /// Create a new router from config settings
 /// </summary>
 public RabbitRouter(IChannelAction longTermConnection, IRabbitMqConnection shortTermConnection)
 {
     _lockObject = new object();
     _longTermConnection = longTermConnection;
     _shortTermConnection = shortTermConnection;
     queues = new HashSet<string>();
     exchanges = new HashSet<string>();
     noOptions = new Dictionary<string, object>();
 }
コード例 #13
0
 public RabbitMqPublisherService(
     IRabbitMqConnection rabbitMqConnection,
     IConfiguration configuration,
     ILogger <RabbitMqPublisherService> logger)
 {
     _rabbitMqConnection = rabbitMqConnection;
     _logger             = logger;
     _rabbitMqConfig     = configuration.GetSection("RabbitMq");
 }
コード例 #14
0
ファイル: EventBusRabbitMQ.cs プロジェクト: shoy160/spear
 /// <summary> RabbitMQ事件总线 </summary>
 /// <param name="connection"></param>
 /// <param name="subsManager"></param>
 /// <param name="messageCodec"></param>
 public EventBusRabbitMq(IRabbitMqConnection connection, ISubscribeManager subsManager, IMessageCodec messageCodec)
     : base(subsManager, messageCodec, connection?.Name)
 {
     _connection =
         connection ?? throw new ArgumentNullException(nameof(connection));
     _brokerName = connection.Broker;
     _logger     = CurrentIocManager.CreateLogger <EventBusRabbitMq>();
     SubscriptionManager.OnEventRemoved += SubsManager_OnEventRemoved;
 }
コード例 #15
0
 public LoginLogMqConsumer(
     IRabbitMqConnection mqConnection
     , ILogger <LoginLogMqConsumer> logger
     , IServiceProvider services)
     : base(mqConnection, logger)
 {
     _services = services;
     _logger   = logger;
 }
コード例 #16
0
ファイル: RabbitMessageQueue.cs プロジェクト: shoy160/spear
 public RabbitMessageQueue(IRabbitMqConnection connection, string queue)
 {
     _connection = connection;
     _encoding   = Encoding.UTF8;
     _logger     = CurrentIocManager.CreateLogger <RabbitMessageQueue>();
     _queue      = queue;
     Channel.ExchangeDeclare(_connection.Broker, ExchangeType.Direct, false, true);
     Channel.QueueDeclare(_queue, true, false, false);
     Channel.QueueBind(_queue, _connection.Broker, _queue);
 }
コード例 #17
0
 public EventBus(IRabbitMqConnection connection,
                 ILifetimeScope autofac, ISubscriptionsManage subsManager, ILogger logger, string queueName = null)
 {
     _connection =
         connection ?? throw new ArgumentNullException(nameof(connection));
     _subscriptionsManage = subsManager ?? new SubscriptionsManager();
     _queueName           = queueName;
     _consumerChannel     = CreateConsumerChannel();
     _autofac             = autofac;
     _logger = logger;
 }
コード例 #18
0
        /// <summary>
        /// Create a new router from config settings
        /// </summary>
        public RabbitRouter(IChannelAction longTermConnection, IRabbitMqConnection shortTermConnection)
        {
            _lockObject = new object();

            _longTermConnection  = longTermConnection ?? throw new ArgumentNullException(nameof(longTermConnection));
            _shortTermConnection = shortTermConnection ?? throw new ArgumentNullException(nameof(shortTermConnection));

            queues    = new HashSet <string>();
            exchanges = new HashSet <string>();
            noOptions = new Dictionary <string, object>();
        }
コード例 #19
0
 public BasketCheckoutConsumer(
     IRabbitMqConnection connnection
     , IMediator mediator
     , IMapper mapper
     , IOrderRepository repository)
 {
     _connnection = connnection;
     _mediator    = mediator;
     _mapper      = mapper;
     _repository  = repository;
 }
コード例 #20
0
 public RabbitMqTenderingService(IServiceProvider service, IRabbitMqConnection connection)
 {
     if (connection.Connection != null)
     {
         _channel            = connection.Connection.CreateModel();
         _consumer           = new EventingBasicConsumer(_channel);
         _consumer.Received += OnConsumerReceived;
     }
     _exchangeName = connection.Configuration.TenderExchangeName;
     _service      = service;
     InitializeRabbitMqListener();
 }
コード例 #21
0
 public NetRabbitEventBus(
     IRabbitMqConnection connectionManager,
     IPublishConfirmer publishConfirmer,
     ConfigurationOptions configurationOptions,
     IOptions <NetRabbitConfiguration> options,
     ILogger <NetRabbitEventBus> logger)
 {
     this.connectionManager = connectionManager ?? throw new ArgumentNullException(nameof(connectionManager));
     this.publishConfirmer  = publishConfirmer ?? throw new ArgumentNullException(nameof(publishConfirmer));
     this.serializer        = configurationOptions.Serializer ?? throw new ArgumentNullException(nameof(configurationOptions.Serializer));
     this.options           = options.Value ?? throw new ArgumentNullException(nameof(options));
     this.logger            = logger ?? throw new ArgumentNullException(nameof(logger));
 }
コード例 #22
0
 public RabbitMqActionBenefitService(IServiceProvider service, IRabbitMqConnection connection, IOptions <MailSettings> mailSettings)
 {
     if (connection.Connection != null)
     {
         _channel            = connection.Connection.CreateModel();
         _consumer           = new EventingBasicConsumer(_channel);
         _consumer.Received += OnConsumerReceived;
     }
     _queueName    = connection.Configuration.ActionBenefitQueueName;
     _service      = service;
     _mailSettings = mailSettings.Value;
     InitializeRabbitMqListener();
 }
コード例 #23
0
        public NetRabbitSubscription(
            IRabbitMqConnection connectionManager,
            IDeadLetterQueueFactory deadLetterQueue,
            IEventsListener eventsListener,
            IOptions <NetRabbitConfiguration> options,
            ILogger <NetRabbitSubscription> logger)
        {
            this.connectionManager = connectionManager ?? throw new ArgumentNullException(nameof(connectionManager));
            this.deadLetterQueue   = deadLetterQueue ?? throw new ArgumentNullException(nameof(deadLetterQueue));
            this.eventsListener    = eventsListener ?? throw new ArgumentNullException(nameof(eventsListener));

            this.options = options.Value ?? throw new ArgumentNullException(nameof(options));
            this.logger  = logger ?? throw new ArgumentNullException(nameof(logger));
        }
コード例 #24
0
        public RabbitMqSubscriberService(
            IRabbitMqConnection rabbitMqConnection,
            IConfiguration configuration,
            IServiceScopeFactory serviceScopeFactory,
            ILogger <RabbitMqSubscriberService> logger)
        {
            _rabbitMqConnection  = rabbitMqConnection;
            _serviceScopeFactory = serviceScopeFactory;
            _logger = logger;

            var rabbitMqSettings = configuration.GetSection("RabbitMq");

            _queueName = rabbitMqSettings["Queue"];
        }
コード例 #25
0
        public EventsListener(
            IRabbitMqConnection connectionManager,
            INotifier notifier,
            ConfigurationOptions configurationOptions,
            ILogger <EventsListener> logger)
        {
            this.connectionManager = connectionManager ?? throw new ArgumentNullException(nameof(connectionManager));
            this.serializer        = configurationOptions.Serializer ?? throw new ArgumentNullException(nameof(configurationOptions.Serializer));
            this.notifier          = notifier ?? throw new ArgumentNullException(nameof(notifier));
            this.logger            = logger ?? throw new ArgumentNullException(nameof(logger));

            this.eventTypes = configurationOptions.NotificationsAssembly.GetTypes().Where(t =>
                                                                                          typeof(INotification).IsAssignableFrom(t)).ToList();
        }
コード例 #26
0
        /// <summary>
        /// Выполняет инициализацию очереди
        /// </summary>
        /// <param name="connection">Соединение, которому принадлежит очередь</param>
        /// <param name="initialConfig">Конфигурация очереди</param>
        public override void Init(IRabbitMqConnection connection, QueueConfig initialConfig)
        {
            base.Init(connection, initialConfig);

            this.DeclareQueue();

            this.consumer           = new AsyncEventingBasicConsumer(this.Connection.Channel);
            this.consumer.Received += this.RabbitEventHandlerAsync;

            lock (this.Connection)
            {
                this.Connection.Channel.BasicConsume(this.InitialConfig.Name, false, this.consumer);
            }
        }
コード例 #27
0
        public RabbitMqSubscriberService(
            IRabbitMqConnection rabbitMqConnection,
            IConfiguration configuration,
            IMediator mediator,
            ILogger <RabbitMqSubscriberService> logger)
        {
            _rabbitMqConnection = rabbitMqConnection;
            _mediator           = mediator;
            _logger             = logger;

            var rabbitMqSettings = configuration.GetSection("RabbitMq");

            _queueName    = rabbitMqSettings["Queue"];
            _exchangeName = rabbitMqSettings["Exchange"];
        }
コード例 #28
0
 public EventBusRabbitMq(
     IRabbitMqConnection rabbitMqConnection,
     ILogger <EventBusRabbitMq> logger,
     ILifetimeScope lifetimeScope,
     IHttpClientFactory httpClientFactory,
     string queueName = null,
     int retryCount   = 5)
 {
     _rabbitMqConnection = rabbitMqConnection;
     _logger             = logger;
     _lifetimeScope      = lifetimeScope;
     _queueName          = queueName;
     _retryCount         = retryCount;
     _model             = CreateConsumerChannel();
     _httpClientFactory = httpClientFactory;
 }
コード例 #29
0
    public RabbitMqErrorHandlerConnection(IRabbitMqConnection connection, ILogger <RabbitMqPublisherConnection> logger)
    {
        _logger = logger;

        _connection = new Lazy <IConnection>(() =>
        {
            _logger.LogWarning("Creating error handler RabbitMQ connection");

            var physicalConnection = connection.Create(ConnectionType.Error);

            physicalConnection.CallbackException   += OnPhysicalConnectionCallbackException;
            physicalConnection.ConnectionBlocked   += OnPhysicalConnectionBlocked;
            physicalConnection.ConnectionShutdown  += OnPhysicalConnectionShutdown;
            physicalConnection.ConnectionUnblocked += OnPhysicalConnectionUnblocked;

            return(physicalConnection);
        });
    }
コード例 #30
0
        public RabbitMqQueueMessage(
            Guid messageId,
            IRabbitMqConnection rabbitMqConnection,
            Type type,
            IRabbitMqEvent content,
            bool redelivered,
            ulong deliveryTag,
            bool isAutoAck)
        {
            _rabbitMqConnection = rabbitMqConnection;
            _deliveryTag        = deliveryTag;
            _isAutoAck          = isAutoAck;

            MessageId    = messageId;
            Type         = type;
            Content      = content;
            DequeueCount = redelivered ? 1 : 0;
        }
コード例 #31
0
		public void a_set_of_configured_components_being_shut_down()
		{
			MessagingSystem.Control.Shutdown();

			_receiverControl = Substitute.For<IReceiverControl>();
			_channelAction = Substitute.For<IChannelAction>();
			_sender = Substitute.For<ISenderNode>();
			_rabbitConn = Substitute.For<IRabbitMqConnection>();

			ObjectFactory.Configure(map =>
			{
				map.For<IReceiverControl>().Use(_receiverControl);
				map.For<IChannelAction>().Use(_channelAction);
				map.For<ISenderNode>().Use(_sender);
				map.For<IRabbitMqConnection>().Use(_rabbitConn);
			});

			MessagingSystem.Control.Shutdown();
		}
コード例 #32
0
        public RabbitMqBusSubscriber(IRabbitMqConnection connection, IEventProcessor eventProcessor, IOptions <RabbitMqOption> optionWrap)
        {
            var option = optionWrap.Value;

            _queueName = option.Client;
            _exchanges = option.Exchanges ?? new string[0];

            _connection     = connection;
            _eventProcessor = eventProcessor;

            _eventProcessor.Setup(eventName =>
            {
                using var channel = _connection.CreateModel();
                foreach (var exchange in _exchanges)
                {
                    channel.QueueBind(queue: _queueName, exchange: exchange, routingKey: eventName);
                }
            });
        }
コード例 #33
0
 /// <summary>
 /// Configure long and short term connections to use the specified connection details
 /// </summary>
 public MessagingBaseConfiguration WithConnection(IRabbitMqConnection connection)
 {
     configuredConnection = connection;
     ObjectFactory.Configure(map => map.For<IRabbitMqConnection>().Use(() => configuredConnection));
     return this;
 }
コード例 #34
0
 static ConfigurationHelpers()
 {
     conn = FreshConnectionFromAppConfig();
 }