2009-07-07 7 views
3

プロパティファイルを使用してehacheを外部から無効にする方法はありますか? CacheManager.shutdown()はうまくいきませんか?実際には私は同じソースコードを持つ2つのアプリケーションを持っています。私はehcacheを必要とします。私はキャッシュを必要としない1つはwebappです!これについてどうやってどうやって行くのか分からないのですか?EHCache無効

+0

はこれは、より良いserverfault.comで求められることがあり、次の行(StackOverflowの姉妹サイト):私は、プロパティは、この技術を経由してファイルから値を取得しません。 –

+0

これもありがとうございます – hakish

答えて

6

あなたがこのために使用することができ、システムのプロパティがあります:

net.sf.ehcache.disabled=true 
+0

しかし、私はそれをjavaコマンドの引数(-Dnet.sf.ehcache.disabled = true)に追加する必要があることを意味します。しかし、私はそれが私のapp.propertiesにあることを望むので、Tomcat起動オプションなどで外部的に変更する必要はありません。どうしたらいいですか? – javagirl

+0

不明 - こちらからお問い合わせください:http://forums.terracotta.org/forums/forums/show/16.page –

1

私は同じ問題を抱えていたし、アレックス・ミラーのソリューションは、私に沿って助けました。

<!-- Enable/disable ehCache using property in config --> 
<bean 
    class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
    <property name="targetObject"> 
     <!-- System.getProperties() --> 
     <bean 
      class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> 
      <property name="targetClass" value="java.lang.System" /> 
      <property name="targetMethod" value="getProperties" /> 
     </bean> 
    </property> 
    <property name="targetMethod" value="putAll" /> 
    <property name="arguments"> 
     <!-- The new Properties --> 
     <util:properties> 
      <prop key="net.sf.ehcache.disabled">${net.sf.ehcache.disabled:false}</prop> 

     </util:properties> 
    </property> 
</bean> 
0

チェック

cache.getNativeCache().getCacheManager().getCacheManagerEventListenerRegistry().notifyCacheRemoved("properties");