274.2. SCR での AbstractCamelRunner のライフサイクル
-
コンポーネントの設定ポリシーと必須参照が SCR 呼び出し active
()が満たされる場合。これは、activate()→prepare()→ createCamelContext()→→ setupsetupPropertiesComponent()configure() CamelContext()の呼び出しチェーンを使用してし、CamelContextを作成設定します。最後に、コンテキストは、AbstractCamelRunner.START_DELAYとrunWithDelay()で定義された遅延後に開始するようスケジュールされます。 -
Camel コンポーネント(
ComponentResolverサービス)が OSGi に登録されると、SCR 呼び出しgotCamelComponent'()' が表示され、CamelContext は同じAbstractCamelRunner.START_DELAYによってさらに起動します。これにより、CamelContext はすべての Camel コンポーネントが読み込まれるまで待機するか、またはそれらのコンポーネント間で十分なギャップが発生するまで待機します。Camel コンポーネントをさらに追加するたびに、同じロジックが failed-to-start CamelContext に再度試行するように指示します。 -
Camel コンポーネントの登録が解除された場合、SCR 呼び出しは
失われたCamelComponent'()' を呼び出します。この呼び出しは何もしません。 -
呼び出しの
アクティブ化()を行う要件ます。これにより、CamelContext がシャットダウンされます。()が失われた場合、SCR は非アクティブな状態()を呼び出し
(OSGi 以外の)ユニットテストでは、より粒度の細かい制御を行うために、activate ()→ deactivate ()の代わりに prepare ()→ run ()→ stop ()を使用する必要があります。また、これにより、テストでの SCR 固有の操作を回避できます。