将有一个来自Kafka的事件从一些其他的应用程序,我想听取该事件使用Spring的事件。事件是通过Kafka,但我如何听取该事件?
`class Event{
String name;
int id;
}
`
传输的事件类型为Event类,但如何使用用于Kafka事件的poll?
示例:@EventListener public void handleEvent(){ <KafkaEvent>.poll() }
我不明白应该如何在@EventListener方法中调用poll
将有一个来自Kafka的事件从一些其他的应用程序,我想听取该事件使用Spring的事件。事件是通过Kafka,但我如何听取该事件?
`class Event{
String name;
int id;
}
`
传输的事件类型为Event类,但如何使用用于Kafka事件的poll?
示例:@EventListener public void handleEvent(){ <KafkaEvent>.poll() }
我不明白应该如何在@EventListener方法中调用poll
1条答案
按热度按时间ncecgwcz1#
这个问题的解决方案是Kafka的spring-boot扩展和@KafkaListener注解。您应该使用
@KafkaListener
注解而不是@EventListener
来处理来自Kafka的事件。它简单、稳定,是首选的解决方案。然而,如果你仍然想使用
@EventListener
,你可以将ApplicationEventPublisher
注入到负责从Kafka轮询消息的类中(例如,通过@KafkaListener
),下面的示例代码,但是它是过度设计的,引入了很多不必要的复杂性。可能,但不是推荐的解决方案: