294.5. Apache Karaf でバンドルを実行する
バンドルが mvn install でビルドされると、デプロイメントする準備が整います。 バンドルを Apache Karaf にデプロイするには、Karaf コマンドラインで次の手順を実行します。
バンドルを Apache Karaf にデプロイする
# Add Camel feature repository karaf@root> features:chooseurl camel 2.15-SNAPSHOT # Install camel-scr feature karaf@root> features:install camel-scr # Install commons-lang, used in the example route to validate parameters karaf@root> osgi:install mvn:commons-lang/commons-lang/2.6 # Install and start your bundle karaf@root> osgi:install -s mvn:example/camel-scr-example/1.0-SNAPSHOT # See how it's running karaf@root> log:tail -n 10 Press ctrl-c to stop watching the log.
294.5.1. デフォルト設定のオーバーライド
デフォルトでは、サービスコンポーネントの設定 PID は、そのクラスの完全修飾名と同じです。Karaf の config:* コマンドを使用して、サンプルバンドルのプロパティーを変更できます。
プロパティーをオーバーライドする
# Override 'messageOk' property karaf@root> config:propset -p example.CamelScrExample messageOk "This is better logging"
または、Karaf の etc フォルダーにあるプロパティーファイルを編集して、設定を変更することもできます。
294.5.2. Camel SCR バンドルをテンプレートとして使用する
たとえば from → to など、頻繁に使用する統合パターンを実装する Camel SCR バンドルがあるとします。成功/失敗のログ記録と再配信は、サンプルルートが実装するパターンでもあります。インスタンスごとに個別のバンドルを作成したくない場合があります。心配はいりません。SCR が対応します。
サービスコンポーネントの設定 PID を作成しますが、末尾にダッシュを追加すると、SCR はその設定を使用してコンポーネントの新しいインスタンスを作成します。
新しいサービスコンポーネントインスタンスの作成
# Create a PID with a tail karaf@root> config:edit example.CamelScrExample-anotherone # Override some properties karaf@root> config:propset camelContextId my-other-context karaf@root> config:propset to "file://removeme?fileName=removemetoo.txt" # Save the PID karaf@root> config:update
これにより、オーバーライドされたプロパティーで新しい CamelContext が開始されます。なんと便利なんでしょう。