서비스를 지속적 ID와 연관시키기
지속 ID(PID)를 사용하여 OSGi Configuration Admin 스펙에 설명된 대로 구성 특성 세트를 해당되는 이용 컴포넌트과 연관시킵니다.
이 태스크 정보
- OSGi 구성 관리 서비스(CA)에 대해 직접 org.osgi.service.cm.ManagedService 또는 org.osgi.service.cm.ManagedServiceFactory 구현 등록
- 이는 번들 시작 시점에서 OSGi 선언 서비스(DS) 또는 블루프린트를 통한 서비스 관리가 불가능한 하위 레벨 커널 번들에서 가장 일반적으로 사용됩니다. 등록은 받을 구성 세트를 식별하는 PID를 지정합니다.
- DS에 서비스 정의
- 이는 기능 번들 내의 서비스가 그 구성을 수신하는 가장 일반적인 방법입니다. 서비스 이름이 구성 데이터와 연관시키는 데 PID로 사용됩니다. DS는 CA로부터 구성 세트를 수신한 후 이를 정의된 서비스에 전달합니다.
예
프로젝트 *.bnd 파일에서 다음과 같은 항목을 사용하여 서비스를 선언할 수 있습니다.
Service-Component: com.ibm.ws.transaction; \
provide:='com.ibm.tx.config.ConfigurationProvider'; \
immediate:='true'; \
modified:='modified'; \
implementation:=com.ibm.ws.transaction.services.JTMConfigurationProvider
이는 다음 XML 코드를 생성하며,
이는 bnd Service-Component 항목을 사용하는 대신 개발자에 의해 코딩될 수도 있습니다.
<component name="com.ibm.ws.transaction" xmlns="http://www.osgi.org/xmlns/scr/v1.1.0"
immediate="true" modified="modified">
<implementation class="com.ibm.ws.transaction.services.JTMConfigurationProvider" />
<service>
<provide interface="com.ibm.tx.config.ConfigurationProvider" />
</service>
<property name="service.vendor" value="IBM" />
</component>
컴포넌트 이름(이 예제에서는 com.ibm.ws.transaction)이
구성 데이터의 연관을 위한 PID로 사용됩니다.
이 컴포넌트가 구성을 설명하는 메타데이터를 제공하지 않을 경우,
다음 양식의 항목을 정의하여 server.xml 파일이나 포함 파일에서 해당 PID를 사용하여
컴포넌트에 대한 구성 특성을 지정할 수 있습니다.
<com.ibm.ws.transaction made.up.property.key="47">