263.17. Camel 경로에서 FlexVolume 속성 자리 표시자 사용
Camel 2.7에서 사용 가능
Camel은 속성 자리 표시자 서비스도 제공하는 IRQ를 지원합니다. Camel은 구성에 대한 규칙을 지원하므로 아래와 같이 XML 파일에서 OSGiknative 속성 자리 표시자를 정의하는 것입니다.
<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.0.0"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
<!-- OSGI blueprint property placeholder -->
<cm:property-placeholder id="myblueprint.placeholder" persistent-id="camel.blueprint">
<!-- list some properties as needed -->
<cm:default-properties>
<cm:property name="result" value="mock:result"/>
</cm:default-properties>
</cm:property-placeholder>
<camelContext xmlns="http://camel.apache.org/schema/blueprint">
<!-- in the route we can use {{ }} placeholders which will lookup in blueprint
as Camel will auto detect the OSGi blueprint property placeholder and use it -->
<route>
<from uri="direct:start"/>
<to uri="mock:foo"/>
<to uri="{{result}}"/>
</route>
</camelContext>
</blueprint>
263.17.1. Camel 경로에서 OSGi의 속성 자리 표시자 사용 링크 복사링크가 클립보드에 복사되었습니다!
기본적으로 Camel은 OSGi의 속성 자리 표시자 서비스를 감지하고 사용합니다. 특성을 설정하여 useBlueprintPropertyResolver 를 < camelContext > 정의에서 false로 설정할 수 있습니다.
263.17.2. 자리 표시자 구문 정보 링크 복사링크가 클립보드에 복사되었습니다!
Camel 경로에서 Camel 구문을 자리 표시자 {{ 및 }} 에 사용하는 방법, OSGi의 값을 조회하는 방법을 확인하십시오.
자리 표시자의 구문은 ${ } 입니다. < camelContext> 외부에서는 ${ } 구문을 사용해야 합니다. < camelContext> 내부의 경우 {{ 및 }} 구문을 사용해야 합니다.
OSGiECDHE를 사용하면 구문을 구성할 수 있으므로 원하는 경우 해당 구문을 실제로 정렬할 수 있습니다.
특정 OSGiECDHE 속성 자리 표시자를 해당 ID로 명시적으로 참조할 수도 있습니다. 아래 예와 같이 Camel의 < propertyPlaceholder& gt;를 사용해야 합니다.
<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.0.0"
xsi:schemaLocation="
http://www.osgi.org/xmlns/blueprint/v1.0.0 https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd">
<!-- OSGI blueprint property placeholder -->
<cm:property-placeholder id="myblueprint.placeholder" persistent-id="camel.blueprint">
<!-- list some properties as needed -->
<cm:default-properties>
<cm:property name="prefix.result" value="mock:result"/>
</cm:default-properties>
</cm:property-placeholder>
<camelContext xmlns="http://camel.apache.org/schema/blueprint">
<!-- using Camel properties component and refer to the blueprint property placeholder by its id -->
<propertyPlaceholder id="properties" location="blueprint:myblueprint.placeholder"
prefixToken="[[" suffixToken="]]"
propertyPrefix="prefix."/>
<!-- in the route we can use {{ }} placeholders which will lookup in blueprint -->
<route>
<from uri="direct:start"/>
<to uri="mock:foo"/>
<to uri="[[result]]"/>
</route>
</camelContext>
</blueprint>