Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何为spring kafka创建的所有MessageListenerContainers设置RecordInterceptor_Java_Spring Kafka_Spring Cloud Stream - Fatal编程技术网

Java 如何为spring kafka创建的所有MessageListenerContainers设置RecordInterceptor

Java 如何为spring kafka创建的所有MessageListenerContainers设置RecordInterceptor,java,spring-kafka,spring-cloud-stream,Java,Spring Kafka,Spring Cloud Stream,我正在使用SpringKafka 2.5.4和SpringBoot 2.3.2。我有一些用@StreamListener注释的方法。我想为所有方法添加一个通用拦截器。我一直在用@EnableKafka和ConcurrentKafkalistenerContainerFactoryBean进行尝试,但它不起作用 我也不想自己配置ConsumerFactory,但让SpringKafka来处理。我只想在现有配置的基础上进行构建,并在其上添加我的RecordInterceptor。spring clo

我正在使用SpringKafka 2.5.4和SpringBoot 2.3.2。我有一些用@StreamListener注释的方法。我想为所有方法添加一个通用拦截器。我一直在用@EnableKafka和ConcurrentKafkalistenerContainerFactoryBean进行尝试,但它不起作用


我也不想自己配置ConsumerFactory,但让SpringKafka来处理。我只想在现有配置的基础上进行构建,并在其上添加我的RecordInterceptor。

spring cloud stream不使用该容器工厂,而是创建自己的容器


使用spring cloud stream,您需要添加一个
ListenerContainerCustomizer
bean来修改容器。

另外,请记住,基于注释的配置模型已被正式弃用。这意味着支持
@StreamListener、@EnableBinding
等将在下一个主要版本中删除。在过去的两年里,我们一直在积极推广和支持,请查看链接文档以及博客文章,了解更多信息。这可能是个问题,也可能不是问题。但我们正在使用自定义AOP实现的注释以及@StreamListener来实现断路器。对于功能性风格,我们将无法使用它,依我看。我们必须首先找到解决方法。有什么建议吗?函数只是bean,所以我不明白为什么你不能使用相同的方法,但是我不知道你的代码啊!知道了。甚至我都想知道它是否真的被使用过。尝试了同样的伎俩,它的工作。谢谢