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

适用于多用户工厂的单Kafka列斯汀

黄俊誉
2023-03-14

我在spring boot应用程序中定义了两个kafka消费者工厂,它们都指向不同的kafka集群。kafkaListenerContainerFactory和其他kafkaListenerContainerFactory。

要侦听从两个kafka服务器发布的消息,我必须定义两个侦听器方法,并用@KafkaListener注释标记它们,并指定topic和containerFactory属性。

查看下面的示例代码。

@KafkaListener(topics = "test-topic", containerFactory = "otherKafkaListenerContainerFactory")
public void listenTestEvent(ConsumerRecord<String, String> record) {
   // Same logic as below method
}

@KafkaListener(topics = "test-topic", containerFactory = "kafkaListenerContainerFactory")
public void listenTestEventServer2(ConsumerRecord<String, String> record) {
   // Same logic as above method
}

有没有办法通过指定容器工厂的数组将上述两种侦听器方法结合在一起?

共有1个答案

谷梁向荣
2023-03-14

不,它不是为如此异构的复杂性而设计的。最后,它会为特定的群集创建一个Kafka消费者,并注入用于消费的方法。就我记忆中的Hibernate而言,从实体到DB中的目标表只能进行一对一的映射。

因此,您可以使用具有不同注释的简单方法,但将它们委托给相同的服务方法。

或者,您可以生成多个微服务实例,以指向不同的Kafka群集。这样,您就不需要更改代码中的任何内容,只需要一个@KafkaListener

 类似资料:
  • 问题内容: 我一直在使用和关闭Lisp,而我正在赶上Clojure。clojure的好处是我可以自然地使用所有java函数,而clojure的坏处也是我必须自然地了解java函数。 例如,我不得不花一些时间(查找)来查找Java中的平方函数(clojure表示法中的Math / sqrt)。 您能为我不太熟悉Java的Clojure用户推荐一些有关Java函数(库)的良好信息资源吗? 它可以是任何

  • 我正在使用azure datafactory WebHook获取管道运行的详细信息-使用以下链接按工厂查询。邮递https://management.azure.com/subscriptions/{订阅ID}/resourceGroups/{resourceGroupName}/providers/Microsoft。数据工厂/工厂/{factoryName}/queryPipelineRuns

  • 为什么Facebook Account tKitactive不能在一个项目中执行并显示空白屏幕,但它可以与另一个项目一起正常工作,我的不工作代码的gradle依赖项在这里 这是日志 这里有一个链接,我想是在这之前提出的一个问题!!有人能解决我的问题吗?提前谢谢。

  • 我正在使用 Artifactory 2.4.0 和 Jenkins 1.438,我有一个包含多个模块的 maven 项目。需要将所有模块(jars和一场由此产生的战争)部署到Jenkins的远程Artifactory服务器中。 我的artifactory用户管理员使用默认密码(password),我尝试在jenkins上执行的所有构建都可以正常工作。因此,当我决定更改de Artifactory管

  • 我有一些内容,我试图找到一些"search chText"是否存在于内容中。当我在“搜索文本”中查找一个单词时,tring.contains(搜索文本)返回true,但对多个工作返回false。下面是显示实现的片段。我需要确定搜索文本是否存在于内容中。 我需要使用正则表达式吗。让我指出我之前没有提到的研究和我的尝试。 我已经尝试了以下正则表达式

  • 问题内容: 编辑:适用于root,sudo是问题。参见下文。 我有一个带有自己的库的目录,例如我的Python库位于。 我已通过将以下行添加到所有用户(包括root)将此目录添加到 Python的PATH 中: 它适用于所有用户(包括root用户)。但这不适用于sudo。有什么办法可以使sudo使用吗? 编辑:更多信息: 我已经添加到sudoers文件像这样:。西特尔不起作用。 问题答案: 我的解