263.7. 위치에서 시스템 및 환경 변수 사용

Camel 2.7에서 사용 가능

이제 위치에서 JVM 시스템 속성 및 OS 환경 변수에 대한 자리 표시자 사용을 지원합니다.

예를 들면 다음과 같습니다.

location=file:${karaf.home}/etc/foo.properties

위의 위치에서 karaf.home 키가 있는 JVM 시스템 속성을 사용하여 파일 구성표를 사용하여 위치를 정의했습니다.

대신 OS 환경 변수를 사용하려면 env에 접두사가 있어야 합니다.

location=file:${env:APP_HOME}/etc/foo.properties

여기서 APP_HOME 은 OS 환경입니다.

다음과 같이 동일한 위치에 여러 자리 표시자를 사용할 수 있습니다.

location=file:${env:APP_HOME}/etc/${prop.name}.properties

#=== 시스템 및 환경 변수를 사용하여 속성 접두사 및 접미사를 구성합니다.

Camel 2.12.5, 2.13.3, 2.14.0에서 사용 가능

propertyPrefix,propertySuffix 구성 속성은 JVM 시스템 속성 및 OS 환경 변수에 자리 표시자를 사용하여 지원합니다.

예를 들어 PropertiesComponent 가 다음 속성 파일로 구성된 경우:

dev.endpoint = result1
test.endpoint = result2

다음 경로 정의에서 다음을 수행합니다.

PropertiesComponent pc = context.getComponent("properties", PropertiesComponent.class);
pc.setPropertyPrefix("${stage}.");
// ...
context.addRoutes(new RouteBuilder() {
    @Override
    public void configure() throws Exception {
        from("direct:start").to("properties:mock:{{endpoint}}");
    }
});

시스템 속성 단계 를 dev 로 변경하여 대상 끝점을 변경할 수 있습니다(메시지는 mock:result1) 또는 test (메시지가 mock:result2로 라우팅됨)로 라우팅됩니다.