我正在嘗試將工作的Spring WAR移動到OSGI環境(在glassfish 3.1和藍圖,spring 3.0.5中)。 應用程序加載性能從磁盤文件,像這樣:PropertyPlaceholderConfigurer在磁盤上找不到屬性文件
<bean id="myProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="${my_conf}/my.properties"/>
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
</bean>
我在${my_conf}/my.properties
被翻譯到現有路徑調試器看到(C:\的conf \ my.properties)
我使用屬性jms.url
在my.properties
定義在接下來的bean聲明
<amq:broker useJmx="false" persistent="false" brokerName="embeddedbroker">
<amq:transportConnectors>
<amq:transportConnector uri="tcp://${jms.url}"/>
<amq:transportConnector uri="vm://embeddedbroker" />
</amq:transportConnectors>
</amq:broker>
和部署我得到一個異常"Could not resolve placeholder ${jms.url}"
爲什麼失敗?有沒有另一種方法來從磁盤上的文件加載屬性?
謝謝
可能重複[問題](http://stackoverflow.com/questions/4779572/could-not-resolve-placeholder-problem)。您在調試器中看到的可能會由另一個應用程序中的另一個bean加載.Context.xml – Ravi 2012-02-06 05:17:09
謝謝。我試圖設置一個位置路徑到不存在的文件,並沒有得到一個異常。我試圖設置一個硬編碼的路徑到屬性文件,並沒有改變。請記住它在非osgi戰爭中工作 – lili 2012-02-06 09:05:04