264.17. Camel 경로에 블루프린트 속성 자리 표시자 사용


Camel 2.7부터 사용 가능

Camel은 속성 자리 표시자 서비스도 제공하는 블루프린트를 지원합니다. Camel은 구성에 대한 규칙을 지원하므로 다음과 같이 XML 파일에서 OSGi 블루프린트 속성 자리 표시자를 정의하는 것입니다.

<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>

264.17.1. Camel 경로에서 OSGi 블루프린트 속성 자리 표시자 사용

기본적으로 Camel은 OSGi 블루프린트 속성 자리 표시자 서비스를 감지하고 사용합니다. < camelContext > 정의에서 특성을 useBlueprintPropertyResolver 를 false로 설정하여 비활성화할 수 있습니다.

264.17.2. 자리 표시자 구문 정보

Camel 경로에서 자리 표시자 {{}} 에 Camel 구문을 사용하여 OSGi 블루프린트에서 값을 조회하는 방법을 확인하십시오.

자리 표시자의 블루프린트 구문은 ${ } 입니다. 따라서 &lt ;camelContext&gt; 외부에 ${ } 구문을 사용해야 합니다. 여기서 < camelContext> 내부에 {{}} 구문을 사용해야 합니다.

OSGi 블루프린트를 사용하면 구문을 구성할 수 있으므로 원하는 경우 실제로 정렬할 수 있습니다.

ID로 특정 OSGi 블루프린트 속성 자리 표시자를 명시적으로 참조할 수도 있습니다. 이를 위해 아래 예제와 같이 Camel의 & lt;propertyPlaceholder >를 사용해야 합니다.

<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>
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동