Пример #1
0
 /// <summary>
 /// Клиент RabbitMq.
 /// </summary>
 /// <param name="config"> Конфигурация клиента. </param>
 /// <param name="dispatcher"> Диспетчер сообщений. </param>
 /// <param name="logger"> Логгер. </param>
 /// <param name="serializer"> Сериализатор сообщений. </param>
 public RabbitMqClient(IOptions <QueuesConfig> config, IMsgDispatcher dispatcher, ILogger <IMessageQueueClient> logger, IMessageSerializer serializer)
     : base(config?.Value, dispatcher, logger, serializer)
 {
     _typeAliasCache = new Dictionary <Type, string>();
     PrepareBehaviours(Configuration);
     _rpcWaits = new Dictionary <string, RpcResposeWaitHandle>();
 }
 /// <summary>
 /// Gets a reference to the one and only MsgDispatcher
 /// </summary>
 /// <returns>A MsgDispatcher object (implementing IMsgDispatcher interface)</returns>
 public static IMsgDispatcher GetMessageDispatcher()
 {
     if (_this == null)
     {
         _this = new MsgDispatcher();
     }
     return(_this);
 }
Пример #3
0
        public void TestDispatchContractType()
        {
            _dispatcher = new MessageDispatcher(Mock.Of <ILogger <IMsgDispatcher> >(), new[]
            {
                new Testhandler(),
            });

            Assert.IsNotNull(_dispatcher.TryGetByAlias("SomeContract"));
        }
Пример #4
0
        /// <summary>
        /// Клиент RabbitMq.
        /// </summary>
        /// <param name="configuration"> Конфигурация клиента. </param>
        /// <param name="dispatcher"> Диспетчер сообщений. </param>
        /// <param name="logger"> Логгер. </param>
        /// <param name="serializer"> Сериализатор сообщений. </param>
        public RabbitClientBase(QueuesConfig configuration, IMsgDispatcher dispatcher, ILogger <IMessageQueueClient> logger, IMessageSerializer serializer)
        {
            Configuration = configuration ?? throw new ArgumentNullException($"Конфигурация клиента очереди не найдена или содержит ошибки");
            Dispatcher    = dispatcher ?? throw new ArgumentNullException(nameof(dispatcher));
            Logger        = logger ?? throw new ArgumentException(nameof(logger));
            Serializer    = serializer ?? throw new ArgumentNullException(nameof(serializer));

            DeliveryCount        = new Dictionary <ulong, int>();
            RegistratedConsumers = new Dictionary <string, EventingBasicConsumer>();
            ConnectionFactory    = new ConnectionFactory
            {
                RequestedHeartbeat = 5,
            };
        }