263.15. JVM 시스템 속성을 사용하여 속성 설정 덮어쓰기
Camel 2.5
에서 사용가능한 경우, 변경 사항을 확인하기 위해 애플리케이션을 재시작할 필요 없이 런타임 시 JVM 시스템 속성을 통해 속성 값을 재정의할 수 있습니다. 이 작업은 명령 줄에서 새 값으로 대체되는 속성과 동일한 이름의 JVM System 속성을 생성하여 수행할 수도 있습니다. 이에 대한 예는 다음과 같습니다.
PropertiesComponent pc = context.getComponent("properties", PropertiesComponent.class); pc.setCache(false); System.setProperty("cool.end", "mock:override"); System.setProperty("cool.result", "override"); context.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { from("direct:start").to("properties:cool.end"); from("direct:foo").to("properties:mock:{{cool.result}}"); } }); context.start(); getMockEndpoint("mock:override").expectedMessageCount(2); template.sendBody("direct:start", "Hello World"); template.sendBody("direct:foo", "Hello Foo"); System.clearProperty("cool.end"); System.clearProperty("cool.result"); assertMockEndpointsSatisfied();