6.4. 使用 Camel Spring Boot 启动器
Apache Camel 提供了一个入门模块,可让您快速开始开发 Spring Boot 应用程序。
流程
在 Spring Boot pom.xml 文件中添加以下依赖项:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spring-boot-starter</artifactId> </dependency>
按照下面的代码片段所示,使用 Camel 路由添加类。这些路由添加到类路径后,路由会自动启动。
package com.example; import org.apache.camel.builder.RouteBuilder; import org.springframework.stereotype.Component; @Component public class MyRoute extends RouteBuilder { @Override public void configure() throws Exception { from("timer:foo") .to("log:bar"); } }
可选。为保持主线程阻止,Camel 保持正常状态,请执行以下操作之一:
-
包含
spring-boot-starter-web
依赖项, 或者将
camel.springboot.main-run-controller=true
添加到application.properties
或application.yml
文件中。您可以使用
camel.springboot.* 属性在
文件中自定义 Camel 应用程序。application.properties
或application.
yml
-
包含
可选。要使用 bean 的 ID 名称引用自定义 bean,请在
src/main/resources/application.properties
(或application.yml
)文件中配置选项。以下示例显示了 xslt 组件如何使用 bean ID 来引用自定义 Bean。请参考 id
myExtensionFactory
的自定义 bean。camel.component.xslt.saxon-extension-functions=myExtensionFactory
然后,使用 Spring Boot @Bean 注释创建自定义 bean。
@Bean(name = "myExtensionFactory") public ExtensionFunctionDefinition myExtensionFactory() { }
或者,对于 Jackson ObjectMapper,在
camel-jackson
data-format 中:camel.dataformat.json-jackson.object-mapper=myJacksonMapper