検索

294.2. SCR での AbstractCamelRunner のライフサイクル

download PDF
  1. コンポーネントの設定ポリシーと必須の参照が満たされると、SCR は activate() を呼び出します。これにより、activate() → prepare() → createCamelContext() → setupPropertiesComponent() → configure() → setupCamelContext() の呼び出しチェーンを通じて CamelContext が作成および設定されます。最後に、コンテキストは、runWithDelay() を使用して AbstractCamelRunner.START_DELAY で定義された遅延の後に開始するようにスケジュールされます。
  2. Camel コンポーネント (正確には ComponentResolver サービス) が OSGi に登録されると、SCR は gotCamelComponent`()` を呼び出します。これは、同じ AbstractCamelRunner.START_DELAY によって CamelContext の開始を再スケジュール/遅延させます。これにより、CamelContext は、すべての Camel コンポーネントがロードされるか、それらの間に十分なギャップができるまで待機します。同じロジックにより、Camel コンポーネントをさらに追加するたびに、起動に失敗した CamelContext に再試行するように指示されます。
  3. Camel コンポーネントが未登録の場合、SCR は lostCamelComponent`()` を呼び出します。この呼び出しは何もしません。
  4. activate() の呼び出しの原因となった要件の 1 つが失われると、SCR は activate() を呼び出します。これにより、CamelContext がシャットダウンされます。

(非 OSGi) 単体テストでは、よりきめ細かい制御のために、prepare() → run() → stop() instead of activate() → deactivate() を使用する必要があります。また、これにより、テストで発生する可能性のある SCR 固有の操作を回避できます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.