OSGi Declarative Services를 사용하여 고급 기능 작성
단순 기능은 ManagedService 및 ServiceTracker와 같은 인터페이스의 직접 구현과 번들 활성화기 클래스를 사용하여 제어할 수 있습니다. 번들 간의 관계가 복잡해질수록 OSGi DS(Declarative Services)와 같은 기능을 사용하여 개별 서비스로 기능을 분해하는 것이 더 바람직할 수 있습니다. DS(간혹 서비스 컴포넌트 런타임이나 SCR이라고 알려짐)는 OSGi 서비스의 라이프사이클 및 인젝션 관리를 제공합니다.
이 태스크 정보
기능 논리를 선언 서비스 세트로 구성하면 다음과 같은 많은 장점을
얻을 수 있습니다.
- 서비스가 사용될 때까지 서비스 활성화(서비스를 제공하는 Java™ 클래스 로딩을 포함하는)를 지연할 수 있습니다(서버가 신속하게 시작되고 자원 사용을 최소화할 수 있습니다).
- 서비스가 활성화되지 않은 경우에도 서비스에 대한 참조가 서비스 레지스트리에 위치되므로, 서비스의 종속 항목을 분석할 수 있습니다.
- 다른 서비스에 대한 종속 항목을 런타임 시 삽입하고, 이러한 종속 항목을 기반으로 다양한 서비스 활성화의 순서가 지정됩니다.
- 해당 서비스 특성이 변경될 때 서비스를 비활성화한 후 다시 활성화할 수 있습니다(필요한 경우).
OSGi 선언 서비스 사용에 대한 자세한 정보는 OSGi 커뮤니티 위키를 포함한 많은 온라인 자원에서 볼 수 있습니다.
이 태스크는 DS에 대해 서비스를 선언하는 방법, 다른 서비스에 대한 참조를 확보하는 방법, 각 서비스에 대한 구성 특성 관리 방법의 간단한 설명을 제공합니다.