如何一次在生产者中编写消息并与消费者每分钟读取 1 条消息?
我可以使用的配置属性
注意:请“max.poll.records”注意我不能使用该方法
我的消费阶层:
var settings = ConfigurationManager.KafkaSettings.Topics[Topics.FaturaKaydetViaTp];
LogManager.Logger.Debug("Consumer initiating for {topic}", settings.TopicName);
using (var consumer = new ConsumerBuilder<Ignore, MailMessage>(consumerConfig).SetValueDeserializer(new ObjectDeserializer<MailMessage>()).Build())
{
LogManager.Logger.Debug("Consumer initiated");
LogManager.Logger.Debug("Subscribing for {topic}", settings.TopicName);
consumer.Subscribe(settings.TopicName);
try
{
while (true)
{
try
{
var cr = consumer.Consume();
LogManager.Logger.Debug("Message received for '{topic}' at: '{topicPartitionOffset}'.", settings.TopicName, cr.TopicPartitionOffset);
if (HandleOnMessage(cr.Value))
if (ConfigurationManager.KafkaSettings.AutoCommit == false)
consumer.Commit(cr);
}
catch (ConsumeException e)
{
LogManager.Logger.Fatal(e, "ConsumeException");
}
}
}
catch (OperationCanceledException)
{
// Ensure the consumer leaves the group cleanly and final offsets are committed.
consumer.Close();
}
}