Siarhei Krukau created CAMEL-8307:
-------------------------------------
Summary: Loaded properties are empty if whitespaces are used in
propertyPlaceholder#location
Key: CAMEL-8307
URL: https://issues.apache.org/jira/browse/CAMEL-8307
Project: Camel
Issue Type: Bug
Components: camel-core
Affects Versions: 2.12.0
Reporter: Siarhei Krukau
Priority: Minor
When whitespaces are used in {{location}} attribute of {{propertyPlaceholder}}
(XML):
{code:xml}
<propertyPlaceholder id="camelPropertyPlaceholderConfigurer"
location="classpath:a/b/c/environments/base.properties,
classpath:a/b/c/environments/${env:ENV}/env.properties,
classpath:a/b/c/environments/${ENV}/env.properties"
ignoreMissingLocation="true"/>
{code}
, the properties are loaded only from the first source ({{base.properties}}) in
this case. The problem may be in
{{org.apache.camel.component.properties.DefaultPropertiesResolver#loadPropertiesFromClasspath}}:
{code:java}
protected Properties loadPropertiesFromClasspath(CamelContext context,
boolean ignoreMissingLocation, String path) throws IOException {
Properties answer = new Properties();
if (path.startsWith("classpath:")) {
path = ObjectHelper.after(path, "classpath:");
}
InputStream is = context.getClassResolver().loadResourceAsStream(path);
if (is == null) {
...
} else {...}
return answer;
}
{code}
{{startsWith}} returns false as the path are splitted around {{,}}. Trimming
the path somewhere around those calls may help.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)