[ 
https://issues.apache.org/activemq/browse/CAMEL-1656?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=57421#action_57421
 ] 

Claus Ibsen edited comment on CAMEL-1656 at 2/7/10 3:04 PM:
------------------------------------------------------------

You can now do something like this

{code}
                from("#{cool.start}")
                    
.to("log:#{cool.start}?showBodyType=false&showExchangeId=#{cool.showid}")
                    .to("mock:#{cool.result}");
{code}

Where #{ } is the property placeholder syntax to lookup properties. Using #{ } 
does not clash with ${ } for simple language and it also resembles the # lookup 
we support on parameters.

Notice how you can define placeholders as only part of the uri or for 
parameters etc. 

There is also a properties component you can use
{code}
                from("direct:start").to("properties:#{cool.end}");
{code}

Which also supports having only part of the endpoint uri as a placeholder. 
Notice how {{mock:}} is fixed below 
{code}
                from("direct:start").to("properties:mock:#{cool.result}");
{code}
And it support a locations parameter so you can use non default locations
{code}
                
from("direct:start").to("properties:#{bar.end}?locations=org/apache/camel/component/properties/bar.properties");
{code}

      was (Author: davsclaus):
    You can now do something like this

{code}
                from("#{cool.start}")
                    
.to("log:#{cool.start}?showBodyType=false&showExchangeId=#{cool.showid}")
                    .to("mock:#{cool.result}");
{code}

Where #{ } is the property placeholder syntax to lookup properties. Using #{ } 
does not clash with ${ } for simple language and it also resembles the # lookup 
we support on parameters.

Notice how you can define placeholders as only part of the uri or for 
parameters etc. 

There is also a properties component you can use
{code}
                from("direct:start").to("properties:#{cool.end}");
{code}

And it support a locations parameter so you can use non default locations
{code}
                
from("direct:start").to("properties:#{bar.end}?locations=org/apache/camel/component/properties/bar.properties");
{code}
  
> Properties file component - And allow simple language to access the properties
> ------------------------------------------------------------------------------
>
>                 Key: CAMEL-1656
>                 URL: https://issues.apache.org/activemq/browse/CAMEL-1656
>             Project: Apache Camel
>          Issue Type: New Feature
>          Components: camel-core
>            Reporter: Claus Ibsen
>            Assignee: Claus Ibsen
>             Fix For: 2.3.0
>
>
> People using Spring XML as DSL is challenged with the fact they dont have a 
> real programming language under the cover.
> And people do not want to hardcode values/options in the DSL directly. And 
> spring property placeholder support is limited in what it can do.
> So we need for now our own properties component that can load a properties 
> file from classpath. Leverage the spring resource endpoint that can do this.
> And let the simple language be able to access these properties as well so 
> people can use it in expressions
> {code}
> <simple>${propertiesfile:foo:email}</simple>
> {code}
> And the properties file is could be define something like:
> {code}
> <endpoint id="foo" url="propertiesfile://META-INF/myprops.properties"/>
> {code}
> And the file content
> {code}
> email=some...@somewhere.org
> {code}
> Need to think a bit about how to define the properties file. If we can allow 
> you to define it as a url or as a ref.
> For instance the simple expression could be:
> {code}
> <simple>${propertiesfile:classpath://META-INF/myprops.properties:email}</simple>
> {code}
> The above is for quick and dirty.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to