4.2. Camel Spring Boot スターターについて
Apache Camel には、スターターを使用して Spring Boot アプリケーションを開発できる、Spring Boot スターターモジュールが含まれています。
詳細は、Apache Camel Spring-Boot examples を参照してください。
スターターを使用するには、以下のスニペットを 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"); } }
application.properties
または application.yml
ファイルで Camel アプリケーションをカスタマイズできます。
Camel Spring Boot は、Camel スターターコンポーネントのいずれかを設定するときに、設定ファイル (application.properties または yaml ファイル) の ID 名による Bean の参照をサポートするようになりました。src/main/resources/application.properties
(または yaml)ファイルで、Bean ID 名を参照して他の Bean を参照する Camel のオプションを簡単に設定できるようになりました。たとえば、以下のように Bean ID を使用すると、xslt コンポーネントはカスタム Bean を参照できます。
以下のように、IDmyExtensionFactory でカスタム Bean を参照します。
camel.component.xslt.saxon-extension-functions=myExtensionFactory
以下のように、Spring Boot @Bean アノテーションを使用して作成します。
@Bean(name = "myExtensionFactory") public ExtensionFunctionDefinition myExtensionFactory() { }
または、camel-jackson
データ形式の Jackson ObjectMapper の場合:
camel.dataformat.json-jackson.object-mapper=myJacksonMapper