[英]How can I send a message directly into a dead letter queue in azure service bus (java)?
[英]How do I put part of Kafka message in Dead Letter Queue
我有一個 Kafka 應用程序,用 Java 編寫,配置了 DeadLetterPublishingRecorer:
@Bean
public DeadLetterPublishingRecoverer dltPublisherMyApp() {
return new DeadLetterEnrichAndPublishRecoverer(getDltTemplate("127.0.0.1:9092"),
(record, exception) -> new TopicPartition(record.topic() + "Error", record.partition()), objectMapper);
}
如您所見,DLT 主題名稱具有“錯誤”后綴。
監聽器很簡單:
@KafkaListener(topics = "#{__listener.createMyObjectConsumerProperties.topic.name}",
groupId = "#{__listener.createMyObjectConsumerProperties.topic.consumerGroupId}",
containerFactory = CREATE_MY_OBJECT_KAFKA_LISTENER_FACTORY)
public void consumeLead(CreateMyObjectRequest content) {
injectedService.createObjects(content);
}
最后是 CreateMyObjectRequest
public class CreateMyObjectRequest {
private List<SmallObjects> smallObjectsList;}
我的要求是處理對象列表 - SmallObject。 如果出現任何問題/錯誤,我必須將 SmallObject 放入 DLT。 不完整的 CreateMyObjectRequest。
請提供一些關於如何配置 Java 應用程序的想法,並僅將部分輸入消息放入 DLT。 即只有一些SmallObjects,不完整的CreateMyObjectsRequest。
謝謝。
與 PM 討論了這個問題,並決定將 SmallObjects 一個接一個地發送到 Kafka,並在 Consumer 中一個接一個地接收它們。
如果有任何錯誤,它們將被自動發送到 LDT。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.