Apache kafka 无法使用Alpakka中的Transactional.Sink向Kafka主题生成消息,但我看到已启用幂等生成程序
嗨,我试着使用生产商api,如阿尔帕卡文档所示。 我可以使用事务源使用记录,并且创建了生产者,但不能将消息放到主题中 无法使用Alpakka中的Transactional.Sink生成主题,但我看到已启用幂等生成程序。 我看到日志,它正在进入逻辑,但它没有生成myTopic的事件 [信息]o.a.k.c.p.KafkaProducer-[生产者客户ID=Producer-7fe8789c-3171-429e-afbf-D8A8BA1270C,事务ID=7fe8789c-3171-429e-afbf-D8A8BA1270C]幂等生产者已启用 你能帮我理解为什么它不能产生主题信息吗 我正在使用docker本地运行代码 下面是我的代码Apache kafka 无法使用Alpakka中的Transactional.Sink向Kafka主题生成消息,但我看到已启用幂等生成程序,apache-kafka,apache-kafka-streams,kafka-producer-api,alpakka,exactly-once,Apache Kafka,Apache Kafka Streams,Kafka Producer Api,Alpakka,Exactly Once,嗨,我试着使用生产商api,如阿尔帕卡文档所示。 我可以使用事务源使用记录,并且创建了生产者,但不能将消息放到主题中 无法使用Alpakka中的Transactional.Sink生成主题,但我看到已启用幂等生成程序。 我看到日志,它正在进入逻辑,但它没有生成myTopic的事件 [信息]o.a.k.c.p.KafkaProducer-[生产者客户ID=Producer-7fe8789c-3171-429e-afbf-D8A8BA1270C,事务ID=7fe8789c-3171-429e-afb
``` Transactional.source(consumerSettings,
Subscriptions.topics(topicNames))
.mapMaterializedValue(innerControl = _)
.map(consumerRecord => {
handleBusiness(consumerRecord)
.flatMap(res => Source.single(res)
.runWith(Transactional.sink(producerSettings,
UUID.randomUUID().toString)))
})
}
source.runWith(Sink.ignore)
我可以使用一个流来完成,事务源也需要一个如下所示的接收器/流
Transactional.source(consumerSettings,
Subscriptions.topics(topicNames))
.mapMaterializedValue(innerControl = _)
.mapAsync(5) { msg => business(msg)}
.via(Transactional.flow(producersettings, transactions-id))
Transactional.source(consumerSettings,
Subscriptions.topics(topicNames))
.mapMaterializedValue(innerControl = _)
.mapAsync(5) { msg => business(msg)}
.via(Transactional.flow(producersettings, transactions-id))