Apache Camel 3.2 – Camel的无反射配置

在Apache Camel项目中,我们正在努力开发下一个即将发布的下一个Apache Camel 3.2.0版本。

我们在Camel 3中努力研究的问题之一就是使其变得更小,更快。 其中一个方面是配置管理。 您可以按照12要素原则以多种方式完全配置Camel,以使配置与应用程序分离。 一种流行的配置方式是使用属性文件(例如application.properties),或者在Kubernetes中,您也可以从配置映射或环境变量进行配置。

因此,我们逐渐超过了Camel 3.0、3.1和现在的3.2,从而使配置更快。 通过最新的工作,我们现在完全可以自由思考。

当使用基于反射的配置时,Camel能够报告。 可以配置:

#bean自省以记录基于反射的配置

camel.main.beanIntrospectionExtendedStatistics = true camel.main.beanIntrospectionLoggingLevel = INFO

我们已经准备好骆驼示例主要维护报告。 骆驼3.0、3.1和3.2的数字如下:

骆驼3.0:调用BeanIntrospection:12次

Camel 3.1:停止被调用的BeanIntrospection:11次 骆驼3.2:停止被调用的BeanIntrospection:0次

这意味着您可以在声明性属性文件等中完全配置所有Camel端点,组件,路由,EIP,数据格式,语言,骆驼主体,骆驼上下文等,然后在运行时全部调用所有这些实例上的实际setter方法(即,仅直接java方法调用,没有java.lang.reflect)。

这是可能的,因为我们的源代码根据存在的选项生成配置器类。 这些配置程序类是无反射的。 可能有很多选项,因此无法手动实现,例如,参见kafka端点配置器

Camel 3.2中的另一个功能是,在不包括嵌套配置选项之前,我们使所有组件选项都可用于配置。 而且,如果您不喜欢在属性文件中进行配置,那么我们还有类型安全的component-dsl和endpoint-dsl

翻译自: https://www.javacodegeeks.com/2020/03/apache-camel-3-2-reflection-free-configuration-of-camel.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值