예제 #1
0
 public ZeroMQConsumerClient(string queueName,
                             IConnectionChannelPool connectionChannelPool,
                             IOptions <ZeroMQOptions> options)
 {
     _queueName             = queueName;
     _connectionChannelPool = connectionChannelPool;
     _ZeroMQOptions         = options.Value;
     _exchangeName          = connectionChannelPool.Exchange;
     HostAddress            = $"tcp://{_ZeroMQOptions.HostName}:{_ZeroMQOptions.SubPort}";
 }
예제 #2
0
        public ConnectionChannelPool(
            ILogger <ConnectionChannelPool> logger,
            IOptions <CapOptions> capOptionsAccessor,
            IOptions <ZeroMQOptions> optionsAccessor)
        {
            _logger  = logger;
            _maxSize = DefaultPoolSize;
            _pool    = new ConcurrentQueue <NetMQSocket>();

            var capOptions = capOptionsAccessor.Value;

            _options = optionsAccessor.Value;

            HostAddress = $"tcp://{_options.HostName}:{_options.PubPort}";
            Exchange    = "v1" == capOptions.Version ? _options.ExchangeName : $"{_options.ExchangeName}.{capOptions.Version}";

            _logger.LogDebug($"ZeroMQ configuration:'HostName:{_options.HostName}, PubPort:{_options.PubPort}, UserName:{_options.UserName}, Password:{_options.Password}, ExchangeName:{_options.ExchangeName}'");
        }