Apache Camel 3.2 – Camel的无反射配置
在Apache Camel項目中,我們正在努力開發(fā)下一個即將發(fā)布的下一個Apache Camel 3.2.0版本。
我們在Camel 3中努力研究的問題之一就是使其變得更小,更快。 其中一個方面是配置管理。 您可以按照12要素原則以多種方式完全配置Camel,以使配置與應用程序分離。 一種流行的配置方式是使用屬性文件(例如application.properties),或者在Kubernetes中,您也可以從配置映射或環(huán)境變量進行配置。
因此,我們逐漸超過了Camel 3.0、3.1和現(xiàn)在的3.2,從而使配置更快。 通過最新的工作,我們現(xiàn)在完全可以自由思考。
當使用基于反射的配置時,Camel能夠報告。 可以配置:
#bean自省以記錄基于反射的配置
camel.main.beanIntrospectionExtendedStatistics = true camel.main.beanIntrospectionLoggingLevel = INFO
我們已經(jīng)準備好駱駝示例主要維護報告。 駱駝3.0、3.1和3.2的數(shù)字如下:
駱駝3.0:調(diào)用BeanIntrospection:12次
Camel 3.1:停止被調(diào)用的BeanIntrospection:11次 駱駝3.2:停止被調(diào)用的BeanIntrospection:0次
這意味著您可以在聲明性屬性文件等中完全配置所有Camel端點,組件,路由,EIP,數(shù)據(jù)格式,語言,駱駝主體,駱駝上下文等,然后在運行時全部調(diào)用所有這些實例上的實際setter方法(即,僅直接java方法調(diào)用,沒有java.lang.reflect)。
這是可能的,因為我們的源代碼根據(jù)存在的選項生成配置器類。 這些配置程序類是無反射的。 可能有很多選項,因此無法手動實現(xiàn),例如,參見kafka端點配置器 。
Camel 3.2中的另一個功能是,在不包括嵌套配置選項之前,我們使所有組件選項都可用于配置。 而且,如果您不喜歡在屬性文件中進行配置,那么我們還有類型安全的component-dsl和endpoint-dsl 。
翻譯自: https://www.javacodegeeks.com/2020/03/apache-camel-3-2-reflection-free-configuration-of-camel.html
總結(jié)
以上是生活随笔為你收集整理的Apache Camel 3.2 – Camel的无反射配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《伊苏 X:北境历险》发售宣传片公布,9
- 下一篇: Kogito,ergo规则:从知识到服务