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로 라우팅됨)로 라우팅됩니다.