J'ai développé un @KafkaListener
qui est également marqué par l' ConsumerAwareRebalanceListener
interface, en utilisant Spring Boot 2.0.6. Je mis en œuvre la onPartitionsAssigned
méthode, dans laquelle je rembobiner le décalage d'un montant fixe de temps, disons 60 secondes.
Jusqu'ici tout va bien.
Comment puis - je tester le cas d'utilisation ci - dessus en utilisant les outils que le printemps Kafka me donne? Je croyais que je dois commencer un courtier Kafka (c. -à- un EmbeddedKafka
), puis arrêter l'auditeur, puis redémarrer à nouveau, pour vérifier que relire les messages arrivés dans les 60 dernières secondes.
aider quelqu'un peut-il me? Je googlé un peu, mais je ne trouve rien. Merci beaucoup.
Le @KafkaListener
a un:
/**
* The unique identifier of the container managing for this endpoint.
* <p>If none is specified an auto-generated one is provided.
* @return the {@code id} for the container managing for this endpoint.
* @see org.springframework.kafka.config.KafkaListenerEndpointRegistry#getListenerContainer(String)
*/
String id() default "";
attribut, vous pouvez ainsi obtenir un accès à son MessageListenerContainer
via mentionné KafkaListenerEndpointRegistry
, que vous pouvez simplement @Autowired
dans la classe de test basé sur le système d' essai de printemps. Ensuite, vous pouvez vraiment stop()
et start()
que MessageListenerContainer
dans votre méthode d'essai.
Faites également attention comment @KafkaListener
a un autoStartup()
attribut aussi.