7.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
unset 属性在application.properties
或application.yml
文件中自定义 Camel 应用程序。
-
包括
可选。要使用 bean 的 ID 名称来引用自定义 bean,请在
src/main/resources/application.properties
(或application.yml
)文件中配置选项。以下示例显示了如何使用 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