Пример #1
0
        private void BuildConfluentClient()
        {
            Boolean usernameSpecified = false;
            Boolean passwordSpecified = false;

            if (!string.IsNullOrEmpty(_authUsername) && _authUsername.ToLowerInvariant() != "[username]")
            {
                this.textBoxUsername.Text = _authUsername;
                usernameSpecified         = true;
            }

            if (!string.IsNullOrEmpty(_authPassword) && _authPassword.ToLowerInvariant() != "[password]")
            {
                this.textBoxPassword.Text = _authPassword;
                passwordSpecified         = true;
            }

            if (usernameSpecified && passwordSpecified)
            {
                _confluentClient = new ConfluentClient(new ConfluentClientSettings(_baseUrl, _requestTimeout,
                                                                                   new BasicConfluentClientAuthentication(_authUsername, _authPassword)));
            }
            else
            {
                _confluentClient = new ConfluentClient(new ConfluentClientSettings(_baseUrl, _requestTimeout, null));
            }
        }
Пример #2
0
        /// <summary>
        /// This assumes that a topic has only one type.  Jay Kreps recommends separating different event types
        /// into different topics at http://www.confluent.io/blog/stream-data-platform-2/.  Besides, heterogeneous-event
        /// topics aren't directly supported by the driver.
        /// </summary>
        /// <returns></returns>
        private static async Task <ConfluentResponse <List <AvroMessage <TK, TV> > > > ConsumeOnceAsync(
            IConfluentClient confluentClient,
            ConsumerInstance consumerInstance,
            string topic)

        {
            return(await confluentClient.ConsumeAsAvroAsync <TK, TV>(consumerInstance, topic));
        }
Пример #3
0
        public static ConsumerInstance ConsumerInstance(IConfluentClient client, string instanceId, string consumerGroupName)
        {
            var consumerInstanceTask = Setup.CreateConsumerInstance(client, instanceId, consumerGroupName).Result;

            if (!consumerInstanceTask.IsSuccess())
            {
                throw new ApplicationException("Error " + consumerInstanceTask.Error.ErrorCode + ": " +
                                               consumerInstanceTask.Error.Message);
            }
            var consumerInstance = consumerInstanceTask.Payload;
            return consumerInstance;
        }
Пример #4
0
        public static async Task<ConfluentResponse<ConsumerInstance>> CreateConsumerInstance(IConfluentClient client,
           string instanceId, string consumerGroupName)
        {

            var request = new CreateConsumerRequest
            {
                AutoCommitEnabled = true,
                InstanceId = instanceId,
                MessageFormat = MessageFormat.Avro
            };

            return await client.CreateConsumerAsync(consumerGroupName, request);
        }
Пример #5
0
        public static ConsumerInstance ConsumerInstance(IConfluentClient client, string instanceId, string consumerGroupName)
        {
            var consumerInstanceTask = Setup.CreateConsumerInstance(client, instanceId, consumerGroupName).Result;

            if (!consumerInstanceTask.IsSuccess())
            {
                throw new ApplicationException("Error " + consumerInstanceTask.Error.ErrorCode + ": " +
                                               consumerInstanceTask.Error.Message);
            }
            var consumerInstance = consumerInstanceTask.Payload;

            return(consumerInstance);
        }
Пример #6
0
 public TestApp()
 {
     InitializeComponent();
     _confluentClient = new ConfluentClient(new ConfluentClientSettings(_baseUrl, _requestTimeout));
 }
Пример #7
0
        public static async Task <ConfluentResponse <ConsumerInstance> > CreateConsumerInstance(IConfluentClient client,
                                                                                                string instanceId, string consumerGroupName)
        {
            var request = new CreateConsumerRequest
            {
                AutoCommitEnabled = true,
                InstanceId        = instanceId,
                MessageFormat     = MessageFormat.Avro
            };

            return(await client.CreateConsumerAsync(consumerGroupName, request));
        }
Пример #8
0
        //private readonly OffsetCommitter _committer;

        public RxConsumer(IConfluentClient client, ConsumerInstance consumerInstance, String topic)
        {
            _client           = client;
            _consumerInstance = consumerInstance;
            _topic            = topic;
        }