9.6. 기능에 OSGi 구성 추가
애플리케이션에서 OSGi 구성 관리 서비스를 사용하는 경우 기능 정의의 config
하위 요소를 사용하여 이 서비스에 대한 구성 설정을 지정할 수 있습니다. 예를 들어 prefix
속성 값이 MyTransform
임을 지정하려면 기능 구성에 다음 config
하위 요소를 추가합니다.
<?xml version="1.0" encoding="UTF-8"?>
<features name="MyFeaturesRepo">
<feature name="example-camel-bundle">
<config name="org.fusesource.fuseesb.example">
prefix=MyTransform
</config>
</feature>
</features>
여기서 config
요소의 name
속성이 속성 설정의 영구 ID 를 지정합니다. 여기서 영구 ID는 속성 이름의 이름 범위 역할을 합니다. config
요소의 내용은 Java 속성 파일과 동일한 방식으로 구문 분석됩니다.
구성
요소의 설정은 다음과 같이 InstallDir/etc
디렉터리에 있는 Java 속성 파일의 설정으로 재정의할 수 있습니다.
InstallDir/etc/org.fusesource.fuseesb.example.cfg
실제로 이전 구성 속성을 사용하는 방법의 예로 OSGi 구성 속성에 액세스하는 다음 블루프린트 XML 파일을 고려하십시오.
<?xml version="1.0" encoding="UTF-8"?> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"> <!-- osgi blueprint property placeholder --> <cm:property-placeholder id="placeholder" persistent-id="org.fusesource.fuseesb.example"> <cm:default-properties> <cm:property name="prefix" value="DefaultValue"/> </cm:default-properties> </cm:property-placeholder> <bean id="myTransform" class="org.fusesource.fuseesb.example.MyTransform"> <property name="prefix" value="${prefix}"/> </bean> </blueprint>
이 블루프린트 XML 파일이 example-camel-bundle
번들에 배포되면 속성 참조 ${prefix}
가 feature 리포지토리의 config
요소에 의해 지정되는 MyTransform
값으로 교체됩니다.