예제 #1
0
 public UserController(
     IUserService userService,
     IMessageQueueManager mqManager)
 {
     this.userService = userService;
     this.mqManager   = mqManager;
 }
예제 #2
0
 public FBoxMqttManager(ILogger <FBoxMqttManager> logger,
                        IMessageQueueManager messageQueueManager) : base(logger)
 {
     _messageQueueManager = messageQueueManager;
     _tokenSource         = new CancellationTokenSource();
     _token = _tokenSource.Token;
 }
예제 #3
0
        /// <inheritdoc />
        public LocaleQueue(ILogger logger, IMessageQueueManager messageQueueManager, IMessageQueueTransactionFactory messageQueueTransactionFactory, string name, bool privateQueue, LocaleQueueMode localeQueueMode, bool transactional, AccessMode accessMode) : base(logger, messageQueueManager, messageQueueTransactionFactory, name, privateQueue, localeQueueMode.In(LocaleQueueMode.Durable, LocaleQueueMode.DurableCreate), transactional, accessMode)
        {
            _localeQueueMode = localeQueueMode;

            switch (_localeQueueMode)
            {
            case LocaleQueueMode.TemporaryMaster:
                Create();
                base.ConnectInternal();
                break;

            case LocaleQueueMode.DurableCreate:
                CreateIfNotExist();
                break;

            case LocaleQueueMode.Durable:
                break;

            case LocaleQueueMode.TemporarySlave:
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
예제 #4
0
 public QueueTests()
 {
     _logger                         = NullLogger.Instance;
     _cancellationToken              = new CancellationToken();
     _messageQueueManager            = Substitute.For <IMessageQueueManager>();
     _messageQueueTransactionFactory = Substitute.For <IMessageQueueTransactionFactory>();
     _messageQueueManager.BeginPeek(Arg.Any <System.Messaging.MessageQueue>(), Arg.Any <TimeSpan>()).Returns(e => null as IAsyncResult);
 }
예제 #5
0
 public MqttBoxStateMessageHandler(
     IMessageQueueManager messageQueueManager,
     ILogger <MqttBoxStateMessageHandler> logger,
     IKafkaProducerManager kafkaProducerManager)
     : base(logger, messageQueueManager)
 {
     _kafkaProducerManager = kafkaProducerManager;
 }
 public MqttMonitorDataMessageHandler(
     IKafkaProducerManager kafkaProducerManager,
     ILogger <MqttMonitorDataMessageHandler> logger,
     IMessageQueueManager messageQueueManager,
     KafkaSetting kafkaSetting)
     : base(logger, messageQueueManager)
 {
     _kafkaProducerManager = kafkaProducerManager;
     _kafkaSetting         = kafkaSetting;
 }
예제 #7
0
        /// <summary>
        /// Создать сервис для управления подписками на очереди сообщений.
        /// </summary>
        public IMessageQueueManager CreateMessageQueueManager()
        {
            if (_queueManager == null)
            {
                // Сессия на команду, чтобы обеспечить изоляцию при выполнении команд
                var sessionManager  = new MessageQueueSessionManagerPerCommand(_sessionFactory);
                var commandExecutor = new MessageQueueCommandExecutor(_commandExecutor, sessionManager);

                _queueManager = new MessageQueueManager(commandExecutor, _queueListener, _defaultExchangeConfig, _defaultQueueConfig);
            }

            return(_queueManager);
        }
예제 #8
0
        /// <inheritdoc />
        protected Queue(ILogger logger, IMessageQueueManager messageQueueManager, IMessageQueueTransactionFactory messageQueueTransactionFactory, string name, bool privateQueue, bool durable, bool transactional, AccessMode accessMode)
        {
            if (name.Length > 124)
            {
                throw new ArgumentException("Queue name too long", nameof(name));
            }

            _messageQueueTransactionFactory = messageQueueTransactionFactory;

            Logger = logger;
            MessageQueueManager = messageQueueManager;
            Name          = name;
            Private       = privateQueue;
            Transactional = transactional;
            Durable       = durable;
            AccessMode    = accessMode;

            _messageQueueLock = new object();
            _stopwatch        = new Stopwatch();
            _stopwatch.Start();
        }
예제 #9
0
 public InspectionCenterManager(
     IServiceInquiry serviceInquiry,
     ILookupService lookupService,
     IInspectionCenterRepository inspectionCenterRepository,
     IInspectionCenterCoverageRepository inspectionCenterCoverageRepository,
     IRoleEmailRepository roleEmailRepository,
     IOptions <CustomServiceSettings> customServiceSettings,
     IRefitServiceResolver refitResolver,
     IStringLocalizer l,
     IOptions <MessagePublisherSettings> messagePublisherConfigSettings,
     IMessageQueueManager messageQueueManager
     )
 {
     _serviceInquiry        = serviceInquiry;
     _lookupService         = lookupService;
     _centerRepository      = inspectionCenterRepository;
     _coverageRepository    = inspectionCenterCoverageRepository;
     _roleEmailsRepository  = roleEmailRepository;
     _refitResolver         = refitResolver;
     _customServiceSettings = customServiceSettings.Value;
     _l = l;
     _messagePublisherConfigSettings = messagePublisherConfigSettings.Value;
     _messageQueueManager            = messageQueueManager;
 }
 public QueuesController(IMessageQueueManager messageQueueManager)
 {
     _messageQueueManager = messageQueueManager;
 }
예제 #11
0
 /// <inheritdoc />
 public QueueFactory(ILogger logger)
 {
     _logger = logger;
     _messageQueueManager            = new MessageQueueManager(logger);
     _messageQueueTransactionFactory = new MessageQueueTransactionFactory();
 }
예제 #12
0
 protected MqttMessageHandler(ILogger logger,
                              IMessageQueueManager messageQueueManager)
 {
     _logger = logger;
     _messageQueueManager = messageQueueManager;
 }
 /// <inheritdoc />
 public RemoteQueue(ILogger logger, IMessageQueueManager messageQueueManager, IMessageQueueTransactionFactory messageQueueTransactionFactory, string serverName, string name, bool privateQueue, RemoteQueueMode remoteQueueMode, bool transactional, AccessMode accessMode) : base(logger, messageQueueManager, messageQueueTransactionFactory, name, privateQueue, remoteQueueMode == RemoteQueueMode.Durable, transactional, accessMode)
 {
     ServerName = serverName;
 }