294.2. AbstractCamelRunner SCR에서의 라이프사이클
-
구성 요소의 구성 정책 및 필수 참조가 SCR calls
activate()을 충족하는 경우. 이렇게 하면 다음 호출 체인을 통해 CamelContext가 생성되고 설정됩니다.activate()→prepare()→createCamelContext()→setupPropertiesComponent()→configure()→setupCamelContext(). 마지막으로runWithDelay()를 사용하여AbstractCamelRunner.START_DELAY에 정의된 지연 후 시작될 수 있습니다. -
Camel 구성 요소(
ComponentResolver서비스)가 OSGi에 등록되는 경우 SCR 호출()은 동일한AbstractCamelRunner.START_DELAY에서 추가로 CamelContext를 다시 조정하는 SCR callgotCamelComponent'입니다. 사실 CamelContext는 모든 Camel 구성 요소가 로드되거나 간에 충분한 차이가 있을 때까지 기다립니다. Camel 구성 요소를 추가할 때마다 동일한 논리에서 실패한 CamelContext가 다시 시도하도록 지시합니다. -
Camel 구성 요소가 등록되지 않은 경우 SCR 호출
lostCamelComponent'()'. 이 호출은 아무 일도 하지 않습니다. -
호출을
활성화 했음을 일으킨 요구 사항 중 하나가 손실되면 SCR이 호출.하게됩니다()그러면 CamelContext가 종료됩니다.
(비-OSGi) 단위 테스트에서는 보다 세분화된 제어를 위해 activate() → deactivate() 대신 prepare() → run() → stop() 를 사용해야 합니다. 또한 이를 통해 테스트에서 가능한 SCR 특정 작업을 피할 수 있습니다.