Преглед на файлове

Add capability to optionally set kafka message key via new header (#498)

master
Andrew Jaffie преди 4 години
committed by GitHub
родител
ревизия
0838a23da1
No known key found for this signature in database GPG ключ ID: 4AEE18F83AFDEB23
променени са 3 файла, в които са добавени 13 реда и са изтрити 1 реда
  1. +1
    -1
      src/DotNetCore.CAP.Kafka/ITransport.Kafka.cs
  2. +2
    -0
      src/DotNetCore.CAP.Kafka/KafkaConsumerClient.cs
  3. +10
    -0
      src/DotNetCore.CAP.Kafka/KafkaHeaders.cs

+ 1
- 1
src/DotNetCore.CAP.Kafka/ITransport.Kafka.cs Целия файл

@@ -43,7 +43,7 @@ namespace DotNetCore.CAP.Kafka
var result = await producer.ProduceAsync(message.GetName(), new Message<string, byte[]>
{
Headers = headers,
Key = message.GetId(),
Key = message.Headers.TryGetValue(KafkaHeaders.KafkaKey, out string kafkaMessageKey) && !string.IsNullOrEmpty(kafkaMessageKey) ? kafkaMessageKey : message.GetId(),
Value = message.Body
});



+ 2
- 0
src/DotNetCore.CAP.Kafka/KafkaConsumerClient.cs Целия файл

@@ -62,6 +62,8 @@ namespace DotNetCore.CAP.Kafka
}
headers.Add(Messages.Headers.Group, _groupId);

headers.Add(KafkaHeaders.KafkaKey, consumerResult.Key);

if (_kafkaOptions.CustomHeaders != null)
{
var customHeaders = _kafkaOptions.CustomHeaders(consumerResult);


+ 10
- 0
src/DotNetCore.CAP.Kafka/KafkaHeaders.cs Целия файл

@@ -0,0 +1,10 @@
// Copyright (c) .NET Core Community. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

namespace DotNetCore.CAP.Kafka
{
public static class KafkaHeaders
{
public const string KafkaKey = "cap-kafka-key";
}
}

Зареждане…
Отказ
Запис