...
Code Block |
---|
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(); |
Unit tests
See the unit tests in camel-core and camel-spring
...
Using property placeholders for any kind of attribute in the XML DSL
Available as of Camel 2.7
Previously it was only the xs:string
type attributes in the XML DSL that support placeholders. For example often a timeout attribute would be a xs:int
type and thus you cannot set a string value as the placeholder key. This is now possible from Camel 2.7 onwards using a special placeholder namespace.
In the example below we use the prop
prefix for the namespace http://camel.apache.org/schema/placeholder
by which we can use the prop
prefix in the attributes in the XML DSLs. Notice how we use that in the Multicast to indicate that the option stopOnException
should be the value of the placeholder with the key "stop".
Wiki Markup |
---|
{snippet:id=e1|lang=xml|url=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/component/properties/SpringOptionalPropertiesDslTest.xml} |
In our properties file we have the value defined as
Code Block |
---|
stop=true
|
Using property placeholder in the Java DSL
Available as of Camel 2.7
Likewise we have added support for defining placeholders in the Java DSL using the new placeholder
DSL as shown in the following equivalent example:
Wiki Markup |
---|
{snippet:id=e1|lang=java|url=camel/trunk/camel-core/src/test/java/org/apache/camel/component/properties/OptionalPropertiesDslTest.java} |
...