[英]Spring 3.2 PropertySourcesPlaceholderConfigurer with JBoss EAP 6.2
我希望Spring首先檢查JBoss EAP 6.2(它使用JBoss AS 7.2)中的系統屬性,然后檢查jar中的屬性。
我試過了
<context:property-placeholder location="classpath:xxx.properties" />
但是這會使用jar中的屬性而不是JBoss的系統屬性。 我也試過了
<context:property-placeholder location="classpath:xxx.properties" system-properties-mode="OVERRIDE" />
哪個應該使用舊的PropertyPlaceholderConfigurer,但這仍然使用jar中的屬性。 我也嘗試設置3.0(而不是3.2)spring xsd,但無濟於事。
那么我怎樣才能讓Spring首先檢查JBoss中的屬性然后再檢查jar中的屬性?
編輯:我試圖用其他選項(ENVIRONMENT,NEVER和FALLBACK)替換OVERRIDE,但我總是最終得到一個在本地屬性中定義的值。
在Artem Bilan的評論之后,我再次搜索(只是為了確保,沒有重復)並找到了一個加載相同屬性的類,但在Java( Properties.load()
)中。 這導致覆蓋我試圖通過Spring加載的system properties
。
要將屬性文件公開給應用程序,我們已完成以下操作:
在名為com/ourcompany/configuration/main
的目錄結構中創建了一個JBoss
模塊,並將其與所有其他JBoss
模塊(在modules目錄中)一起放置。
在該目錄中創建了一個module.xml。
將所有* .properties文件放在該目錄中。
在standalone.xml( JBoss
配置文件)中創建了以下內容,以使配置目錄對我們的所有應用程序可見,並避免每個應用程序使用jboss-deployment-structure.xml文件。
然后所有屬性都在類路徑上,如預期的那樣。
module.xml:
<module xmlns="urn:jboss:module:1.1" name="com.ourcompany.configuration">
<resources>
<resource-root path="."/>
</resources>
</module>
standalone.xml:
<subsystem xmlns="urn:jboss:domain:ee:1.1">
<global-modules>
<module name="com.ourcompany.configuration" slot="main"/>
</global-modules>
</subsystem>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.