第47章 Camel での OSGi Blueprint の使用
Blueprint のカスタム XML 名前空間が作成され、優れた XML 方言を活用できるようになります。Blueprint カスタム名前空間はまだ標準化されていません。この名前空間は、Apache Karaf によって使用される Blueprint 実装の Apache Aries Blueprint 実装でのみ使用できます。
47.1. 概要
XML スキーマは Spring のスキーマとほとんど同じであるため、Spring XML を参照するドキュメント全体のすべての xml スニペットも Blueprint ルートに適用されます。
以下は、Blueprint を使用した非常に単純なルート定義です。
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"> <camelContext xmlns="http://camel.apache.org/schema/blueprint"> <route> <from uri="timer:test" /> <to uri="log:test" /> </route> </camelContext> </blueprint>
この時点では、サポートされる xml 要素(Spring xml 構文と比較)にはいくつかの制限があります。
- beanPostProcessor は Spring 固有のもので、許可されない
ただし、OSGi 環境内にアプリケーションをデプロイする場合、Blueprint を使用する利点は複数あります。
- 新しい Camel バージョンにアップグレードする場合は、バンドルによってインポートされる camel パッケージに基づいて正しいバージョンが選択されるため、namespace を変更する必要はありません。
- カスタム namespace およびバンドルに関して起動順序の問題はありません。
- Blueprint プロパティープレースホルダーを使用できます。