第50章 Camel で OSGi ブループリントを使用する

ブループリント用のカスタム XML 名前空間が作成され、優れた XML ダイアレクトを利用できるようになりました。ブループリントのカスタム名前空間はまだ標準化されていないため、この名前空間は、Apache Karaf で使用される Apache Aries ブループリントの実装でのみ使用できます。

50.1. 概要

XML スキーマは Spring のものとほとんど同じであるため、ドキュメント全体で Spring XML を参照しているすべての xml スニペットは 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 環境にデプロイするときにブループリントを使用すると、いくつかの利点があります。

  • 新しい camel バージョンにアップグレードする場合、名前空間を変更する必要はありません。バンドルによってインポートされた camel パッケージに基づいて正しいバージョンが選択されるためです。
  • カスタム名前空間とバンドルに関する起動順序の問題はありません
  • Blueprint プロパティープレースホルダーを使用できます