我正試圖遷移一個使用PropertyPlaceholderConfigurer的Spring應用程序來解析它的bean聲明中的所有XML佔位符,以便使用Spring雲,我可以檢查配置服務器是否已聯繫並用從git存儲庫生成的相應數據進行響應,但是,在BeanFactoryPostProcessor註冊期間的服務器啓動時,XML上下文無法解析佔位符。如何在聲明任何XML bean之前註冊Spring Cloud配置服務器?
我認爲通過刪除bean定義:
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="ignoreUnresolvablePlaceholders" value="false" />
<property name="properties">
<bean class="org.apache.commons.configuration.ConfigurationConverter"
factory-method="getProperties">
<constructor-arg>
<ref bean="domainConfiguration" />
</constructor-arg>
</bean>
</property>
</bean>
並添加配置客戶端和相應的環境變量的佔位符應該工作POM的依賴,但他們不。
我可以手動將配置服務器設置爲更高優先級嗎?
或者作爲一種選擇,教PropertyPlaceholderConfigurer消費配置服務器?
作爲一種替代方法(教PropertyPlaceholderConfigurer來使用配置服務器),您可以使用接口EnvironmentAware,併爲要注入的Environment變量(不使用@Autowired)實現setter和getter,並覆蓋方法解決所述佔位符。 –