Spring 構成の 1 つの領域で、以下を使用しています。
applicationContext.xml :
<bean class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" lazy-init="true">
<property name="configLocation" value="classpath:ehcache.xml"/>
</bean>
ただし、ehcache.xml は標準の Spring Bean 構成ファイルではありませんが、別の場所で PropertyPlaceHolderConfigurer を使用して構成した内容に基づいて置き換えたい ${ehcache.providerURL} が含まれています。
ehcache.xml :
<cacheManagerPeerProviderFactory
...
providerURL=${ehcache.providerURL}
...
</cacheManagerPeerProviderFactory>
Maven/プロファイル/フィルターの組み合わせを使用することもできますが、ビルド対象の環境に固有のビルドが作成されます。私が本当にやりたいことは、実行時に ehcache.xml を前処理して、PropertyPlaceHolderConfigurer によって読み取られたプロパティに基づいて置換を実行し、その結果を EhCacheManagerBean に渡すことです。
この時点で、ディスクからファイルを読み取った後にこれを行う必要があることを除いて、「bla bla bla ${property} bla bla bla」を置き換えることができるため、@Value アノテーションの背後にある機能を複製することを考えています。
これをどうやって進めるかについてのアイデアはありますか?
ありがとう。-AP_