Camel应用初始化
Apache Camel 采用的是组件化的设计思想,通过Camel Component对接第三方的应用,Camel核心模块会扫描classpath 加载这些Camel Component。 Camel应用在启动的过程中,需要将应用涉及到的路由(Route),节点 (Endpoint),类型转换器(TypeConverter)以及发送接收模板(ProducerTemplate, ConsumerTemplate)加载到 Camel上下文环境(CamelContext)进行组装。
在Camel早期时代,Camel直接提供了一套XML的DSL来描述路由规则,以及配置Camel应用相关模块,这样我们只需要在应用程序入口创建Spring 应用,加载相关的XML配置文件就可以了。 Spring创建ApplicationContext时候会加载对应Camel路由规则,并完成有关CamelContext创建和组装工作。
随着Spring Boot的普及,大家逐步走上了通过标注和在starter依赖中加入很多自动配置模块的方式来配置相关组件的道路, Camel Spring Boot Starter 为Camel提供了一个自动配置组件。 通过自动配置不但将有Spring管理的Camel Routes组装到Camel Context中, 而且可以通过Autowire的方式向业务代码注入其他与Camel 应用运行相关的组件。
如何管理Spring Boot与Apache Camel依赖
一般来说可以通过maven的依赖管理如下方式管理Spring Boot 以及Apache Camel的依赖。
2.24.1
2.1.6.RELEASE
org.springframework.boot
spring-boot-dependencies
${spring-boot.version}
pom
import
org.apache.camel
camel-spring-boot-dependencies
${camel.version}
pom
import
以下是典型的Apache Camel 应用的依赖包
org.apache.camel
camel-spring-boot-starter
org.apache.camel
c