Vous avez une erreur en utilisant le composant kafka pour Apache Camel (version 2.19.1), j'essaie juste d'imprimer les messages entrants dans le sujet, mon pipeline est ainsi composé:Composant Camel-Kafka ne fonctionne pas pour l'erreur: "en raison de courtiers doivent être configurés"
...
context.addRoutes(new RouteBuilder() {
public void configure() {
from("kafka://localhost:9092?topic=test&groupId=testing")
.to("stream:out");
context.start();
}
}
essayé avec et sans "//" dans l'extrémité.
Ce que je suis arrivé est:
Exception in thread "main" org.apache.camel.FailedToCreateRouteException: Failed to create route route1: Route(route1)[[From[kafka://localhost:9092?topic=test&groupI... because of Brokers must be configured
at org.apache.camel.impl.RouteService.warmUp(RouteService.java:147)
at org.apache.camel.impl.DefaultCamelContext.doWarmUpRoutes(DefaultCamelContext.java:3762)
at org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:3669)
at org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:3455)
at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:3309)
at org.apache.camel.impl.DefaultCamelContext.access$000(DefaultCamelContext.java:202)
at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:3093)
at org.apache.camel.impl.DefaultCamelContext$2.call(DefaultCamelContext.java:3089)
at org.apache.camel.impl.DefaultCamelContext.doWithDefinedClassLoader(DefaultCamelContext.java:3112)
at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:3089)
at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61)
at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:3026)
at org.apache.camel.MainApp.main(MainApp.java:60)
Caused by: java.lang.IllegalArgumentException: Brokers must be configured
at org.apache.camel.component.kafka.KafkaConsumer.<init>(KafkaConsumer.java:62)
at org.apache.camel.component.kafka.KafkaEndpoint.createConsumer(KafkaEndpoint.java:76)
at org.apache.camel.impl.EventDrivenConsumerRoute.addServices(EventDrivenConsumerRoute.java:69)
at org.apache.camel.impl.DefaultRoute.onStartingServices(DefaultRoute.java:103)
at org.apache.camel.impl.RouteService.doWarmUp(RouteService.java:172)
at org.apache.camel.impl.RouteService.warmUp(RouteService.java:145)
... 12 more
Process finished with exit code 1
Je suis en train de le comprendre, mais je ne comprends vraiment pas ce qui est le problème, mon groupe de kafka est un seul courtier et tout est en cours d'exécution (zookeeper et serveur), ty pour l'aide
Maintenant, je ne reçois aucune erreur, mais le consommateur ne reste pas, il quitte avec le code 0, mais à la place, il devrait rester jusqu'à ce qu'un contexte contextuel.stop() en attente de messages entrants, pourquoi? – Giuseppe
Non, par défaut (si vous avez une application Camel autonome), il ne devrait pas. Il existe des solutions pour garder le CamelContext en cours d'exécution, vérifiez ici: http://camel.apache.org/running-camel-standalone-and-have-it-keep-running.html – mgyongyosi
Utilisez la classe Camel Main comme indiqué par @mgyongyosi – Gautam