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

如何自定义预定义的骆驼组件?

郭知
2023-03-14

我在camel Kafka starter依赖项中使用了一个Kafka组件。在这个问题中,建议我使用“定制器”。我将如何在spring boot应用程序中使用它?

共有1个答案

锺离赤岩
2023-03-14

解决方案是在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   

然后,该组件将流入该定制器并在那里进行处理。

 类似资料:
  • 然后我需要做的是创建另一个FTP连接--技术上是到同一台机器,但路径不同。在我的实验中,我使用了一个带有构造URI的使用者模板来获取另一个文件(基于轮询文件的内容)。 这已经在一个高级别工作,并获取我需要的文件。谁能证实这是不是一件危险的事? 根据文档: 当然,我想要的文件确实会被检索到,而且我可以将它进一步传递到骆驼路由中,然而,当我处理FTP流文件时,我看到了字节级处理(按位计算等)的问题,我

  • 有没有一种方法可以创建一个定制的ApacheCamel定时器作为java代码中定义的对象,而不是在endpointURI中将其定义为dsl字符串模式? 在文档中:https://camel.apache.org/components/latest/timer-component.html这里提到了这个定时器URI查询参数: 但我还没有找到创建“高级”自定义计时器的示例。 而不是像这样指定计时器:

  • 我试图在代码中使用camel quarkus jdbc,但收到一个错误: msgstr"无法解析endpoint: jdbc://camel,原因是:在注册表中找不到bean: camel的类型:javax.sql.DataSource" 互联网上关于这方面的信息不多。这是官方文件,没有太多描述:https://camel.apache.org/camel-quarkus/latest/refer

  • 我是Camel集成的初学者,我需要创建定制的Camel组件,并在Spring Boot应用程序中使用它。 我尝试使用maven原型生成我的组件。 所以命令是这样的: mvn原型:generate-DarchetypeGroupId=org。阿帕奇。骆驼ArchetypeArtifactid=camel原型组件-DarchetypeVersion=2.12.1-DgroupId=my。tcp。骆驼c

  • Mpx中的自定义组件完全基于小程序原生的自定义组件支持,与此同时,Mpx提供的数据响应和模板增强等一系列增强能力都能在自定义组件中使用。 原生自定义组件的规范详情查看这里 动态组件 Mpx中提供了使用方法类似于 Vue 的动态组件能力,这是一个基于 wx:if 实现的语法。通过对 is 属性进行动态绑定,可以实现在同一个挂载点切换多个组件,前提需要动态切换的组件已经在全局或者组件中完成注册。 使用

  • PyQt5有丰富的组件,但是肯定满足不了所有开发者的所有需求,PyQt5只提供了基本的组件,像按钮,文本,滑块等。如果你还需要其他的模块,应该尝试自己去自定义一些。 自定义组件使用绘画工具创建,有两个基本方式:根据已有的创建或改进;通过自己绘图创建。 Burning widget 这个组件我们会在Nero,K3B,或者其他CD/DVD烧录软件中见到。 #!/usr/bin/python3 # -*