Как настроить предопределенные компоненты Camel? - PullRequest
0 голосов
/ 25 февраля 2020

Я использую компонент Кафки в зависимости camel-kafka-starter. В этом вопросе мне было рекомендовано использовать «настройщик». Как бы я использовал это в моем весеннем загрузочном приложении?

1 Ответ

0 голосов
/ 25 февраля 2020

Решение состоит в том, чтобы определить компонент в вашем файле конфигурации SpringBoot следующим образом:

@Configuration
public class MyConfig {

   @Bean 
   ComponentCustomizer<KafkaComponent> myCustomizer(){
       return new ComponentCustomizer<KafkaComponent>() {

           @Override
           public void customize(KafkaComponent component) {
               //KafkaConfiguration config = new KafkaConfiguration(); //optional extra config

               component.setAllowManualCommit(true);
               component.setBrokers(brokers);
               component.setWorkerPool(workerPool); 
           };
       };
    }

   @Component
   public class route extends RouteBuilder {

        @Override
        public void configure() throws Exception {
           from("file://target/inbox")
           .to("direct:kafka_in")

           from("direct:kafka_in")
           .log(LoggingLevel.WARN, "Generated : $simple{body}")
           .to("kafka:topic2")
           .log("[P-kafka_in] regular Producer");

       } 
    }
}

В дополнение к любой конфигурации, установленной в свойствах:

camel.component.kafka.configuration.retries=1234567
camel.component.kafka.configuration.request-required-acks=all
camel.component.kafka.configuration.enable-idempotence=true   

Тогда компонент будет перетащите в этот настройщик и обработайте там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...