2013-07-30 85 views
0

我想加載每臺機器/主機名的配置屬性。在Apache Camel中獲取主機名Spring DSL配置文件

我的幾個資源屬性文件,我想這取決於機器的主機Apache的駱駝負載特定的屬性文件。

主機名1:sql-hostname1.properties,paths-hostname1.properties

主機名2:sql-hostname2.properties,paths-hostname2.properties

我用駱駝propertyPlaceholder

<propertyPlaceholder id="placeholder" 
     location="classpath:sql-hostname1.properties, 
        classpath:paths-hostname1.properties" /> 

我試圖獲取主機名作爲環境屬性${env:hostname}或系統屬性${hostname}但沒有作品。

任何想法?

+0

'sql - $ {sysenv.computername} .properties'完美工作。我希望能有一個主機名屬性,因爲「計算機名」不上 – Emowpy

+0

你也可以使用你容器的任何預定義的環境變量的Linux系統存在。這個變量對於不同的主機可能不同。 – Mike

回答

1

有關配置的Spring bean,並用彈簧表達式語言來獲取主機名是什麼?例如,見this blog post

+0

謝謝! '<豆ID = 「屬性」 類= 「org.apache.camel.component.properties.PropertiesComponent」> \t \t <屬性名= 「位置」 值=「類路徑:配置 - #{inetAddress.hostName}。屬性 「/> \t \t ' VS ' \t \t ' – Emowpy

+0

第一個工作,第二個不工作。 **'#{}東西'**是不是在春天DSL駱駝上下文中尚不支持。 – Emowpy