internal IEnumerable <KeyValuePair <string, object> > AsRdkafkaConfig()
        {
            if (MainConfig.ContainsKey("bootstrap.servers"))
            {
                return(MainConfig.AsEnumerable());
            }

            if (string.IsNullOrEmpty(Servers))
            {
                throw new ArgumentNullException(nameof(Servers));
            }
            else
            {
                MainConfig.Add("bootstrap.servers", Servers);
            }
            MainConfig["enable.auto.commit"] = "false";
            return(MainConfig.AsEnumerable());
        }
예제 #2
0
        /// <summary>
        /// AsKafkaConfig
        /// </summary>
        /// <returns></returns>
        public IEnumerable <KeyValuePair <string, string> > AsKafkaConfig()
        {
            if (_kafkaConfig == null)
            {
                if (Servers.IsNullOrWhiteSpace() && !MainConfig.Keys.Contains("bootstrap.servers"))
                {
                    throw new ArgumentNullException(nameof(Servers));
                }

                if (!MainConfig.Keys.Contains("bootstrap.servers"))
                {
                    MainConfig["bootstrap.servers"] = Servers;
                }

                if (!MainConfig.Keys.Contains("queue.buffering.max.ms"))
                {
                    MainConfig["queue.buffering.max.ms"] = "10";
                }

                if (!MainConfig.Keys.Contains("enable.auto.commit"))
                {
                    MainConfig["enable.auto.commit"] = "false";
                }

                if (!MainConfig.Keys.Contains("log.connection.close"))
                {
                    MainConfig["log.connection.close"] = "false";
                }

                if (!MainConfig.Keys.Contains("request.timeout.ms"))
                {
                    MainConfig["request.timeout.ms"] = "3000";
                }

                if (!MainConfig.Keys.Contains("message.timeout.ms"))
                {
                    MainConfig["message.timeout.ms"] = "5000";
                }

                _kafkaConfig = MainConfig.AsEnumerable();
            }

            return(_kafkaConfig);
        }