295.2. AbstractCamelRunner의 SCR 라이프사이클
-
구성 요소의 구성 정책 및 필수 참조가 충족되는 경우 SCR 호출
activate(). 이렇게 하면 다음 호출 체인을 통해 CamelContext를 생성하고 설정합니다.activate()prepare()createCamelContext()setupPropertiesComponent()configure()setupCamelContext(). 마지막으로, 컨텍스트는runWithDelay()를 사용하여AbstractCamelRunner.START_DELAY에 정의된 지연 후에 시작되도록 스케줄링됩니다. -
Camel 구성 요소(
ComponentResolver서비스)가 OSGi에 등록되면 SCR 호출에서 동일한Abstract로 인해 CamelContext를 다시 스케줄/토큰으로 다시 시작합니다. 실제로 CamelContext는 모든 Camel 구성 요소가 로드되거나 충분한 차이가 있을 때까지 대기합니다. 동일한 논리에서 Camel 구성 요소를 추가할 때마다 failed-to-start CamelContext가 다시 시도하도록 지시합니다.CamelRunner.START_DELAY -
Camel 구성 요소가 등록되지 않은 SCR인 경우
lostCamelComponent'()'를 호출합니다. 이 호출은 아무 작업도 수행하지 않습니다. -
activate()에 대한 호출을 초래한 요구 사항 중 하나가 손실되면 SCR이 disable()를호출합니다. 이렇게 하면 CamelContext가 종료됩니다.
(비 OSGi) 단위 테스트에서는 더 세분화된 제어를 위해 enable() 대신 prepare() run () stop 을 사용해야 합니다. 또한 테스트에서 가능한 SCR 특정 작업을 피할 수 있습니다.
()