6.2. Camel Spring Boot Starter 简介
Apache Camel 包含一个 Spring Boot 初学者模块,允许您使用 starters 开发 Spring Boot 应用程序。
如需了解更多详细信息,请参阅源代码中的 示例应用程序 。
要使用初学者,请在 Spring Boot pom.xml
文件中添加以下代码片段:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-spring-boot-starter</artifactId> </dependency>
<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"); } }
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");
}
}
您可以在 application.properties
或 application.yml
文件中自定义 Camel 应用程序。
现在,当您配置任何 Camel 初学者组件时,Camel Spring Boot 现在支持根据配置文件(application.properties 或 yaml 文件)引用 bean。在 src/main/resources/application.properties
(或 yaml)文件中,您现在可以通过引用 beans ID 名称在 Camel 上轻松配置引用其他 Bean 的选项。例如,xslt 组件可以使用 bean ID 来引用自定义 bean,如下所示:
请参考 id myExtensionFactory 的自定义 bean,如下所示:
camel.component.xslt.saxon-extension-functions=myExtensionFactory
camel.component.xslt.saxon-extension-functions=myExtensionFactory
然后,您可以使用 Spring Boot @Bean 注解创建,如下所示:
@Bean(name = "myExtensionFactory") public ExtensionFunctionDefinition myExtensionFactory() { }
@Bean(name = "myExtensionFactory")
public ExtensionFunctionDefinition myExtensionFactory() {
}
或者,在 camel-jackson
data-format 中的 Jackson ObjectMapper 中:
camel.dataformat.json-jackson.object-mapper=myJacksonMapper
camel.dataformat.json-jackson.object-mapper=myJacksonMapper