当前位置: 首页 > 知识库问答 >
问题:

SpringKafka听众签名

龙飞
2023-03-14

我试图通过stackoverflow搜索这个问题,但找不到合理的答案。我对@Kafkalistener注释的方法的签名很好奇,我们需要遵循什么约定吗?。如果我们想通过方法注入传入spring管理的bean呢?我试图通过方法注入将服务类传递给kafka侦听器-

private fun defaultListener(payload: ByteArray, @Headers messageHeaders: MessageHeaders, ack: Acknowledgment, callbackService: CallbackService) {
 // Do something
}

我得到以下例外-

org.springframework.messaging.converter.MessageConversionException: Cannot handle message; nested exception is org.springframework.messaging.converter.MessageConversionException: Cannot convert from [[B] to [com.test.kafka-demo.service.CallbackService]

如果我使相关服务类自动生成,工作正常。

共有1个答案

慎懿轩
2023-03-14

侦听器方法中的所有参数都必须从消费者记录(或记录本身)、消费者和/或使用手动提交时的确认中派生。

@Payload(或无注释)从记录转换(如有必要)。value()

不能在那里添加任意bean引用。

 类似资料:
  • 监听器提供对JMeter在JMeter运行时收集有关测试用例的信息的访问。 听众收集的结果或信息可以以下列形式显示: tree tables graphs 日志文件 当指定一个侦听器时,所有侦听器都将相同的原始数据写入输出文件。 默认配置 要保存的默认项目可以通过以下两种方式之一定义 - 在jmeter.properties (或user.properties)文件中。 此文件存在于JMeter的

  • 我是一个巨大的promise链,但我意识到其中一个函数返回一个对象,该对象具有侦听器,并对回调作出反应,如 我想知道是否有一种方法可以使用promise来实现这一点,并将其转化为可选项。除了重写我的整个promise链来使用回调,没有其他选择吗?

  • 我遇到了这个githttps://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md,它展示了开发人员如何通过添加“被动监听器”来提高滚动性能。我第一次看到它是在我的chrome向我显示警告时(确切的警告是“由于主线程繁忙,‘触摸启动’输入事件的处理延迟了126毫秒”。考虑将事件处理程序标记为“被动”,以使页面更具响应性。

  • 所以首先,为了能够暂停/停止消费者,我必须访问MessageListenerContainer。这意味着,在配置中,我将创建:ConcurrentKafkaListenerContainerFactory并(从2.2开始)使用它创建ConcurrentMessageListenerContainer的托管bean。然后可以使用这个bean来启动/停止消费者。管用。一旦它是并发的...我假设,我传递

  • 有什么不同吗?术语KafkaConsumer和KafkaListener可以互换使用吗?

  • 问题内容: 说我有一个摇摆的GUI,我想听。您认为谁应该是侦听器类,谁应该负责?实施它的最佳或首选方式是什么?有什么意见吗?我通常会这样: 有没有更好的办法? 编辑: 谢谢大家的智慧和帮助。我很感激。 问题答案: 有几种执行事件侦听器的常用方法(在下面的代码中,我想到的唯一一个就是静态内部类)。下面的代码使用ActionListener,因为它很简单,但是您可以将其应用于任何侦听器。 请注意,“这