私はSpringフレームワークには新しく、既存のPropertyPlaceholderConfigurerインスタンスに新しいPropertiesオブジェクトのランタイムロードの解決策が見つかるかどうかを確認しようとしています。Spring PropertyPlaceholderConfigurerでのプロパティのランタイムロード
<bean class="com.myl.spring.VaultPropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
<property name="locations">
<list>
<value>classpath*:startup.properties</value>
</list>
</property>
</bean>
startup.propertiesを次のように私は...春のPropertyPlaceholderConfigurerを拡張することにより開始し、有線
は、URL(私は複数のプロパティを取得するためにGETリクエストを作る)である一つの値だけを持っています。このフェッチがなければ、私のcontext.xmlのプレースホルダは解決できません。
作成中にVaultPropertyPlaceholderConfigurerがメソッドを呼び出す方法は、 にありますか。ハードコードされた値を解決すると、URLが になります。 GETリクエストを作成し、取得した結果をロードします。
PropertyPlaceholderConfigurerを拡張することでこれを一度修正しました。私たちはjava.util.Timerを使用して、クラスがX分ごとに.propertiesファイルの変更をチェックするようにしました。もし何か違うものがあった場合は、processPropertiesメソッドを使ってgetから取得したプロパティコード。もちろん、これは定型的な解決策ですが、それを達成する春の実装があれば、正直に無視しています。 Beanの作成中に新しいロードされたプロパティもすべて使用できなくなります。なぜなら、最初にBeanを作成しようとしているのでしょうか? – Chepech
おかげでchepech、私は選択肢がなく、この方法を実装する...または今すぐthats私が考えている唯一の方法です。 – Fallrookie