キャッシュの設定〜警告ログの削除


前回*1の続き。


以下のログを消したい。

WARN (Configurator.java:125) - No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: file:/hoge/ehcache-failsafe.xml


このログを出しているのは、ehcache.jarにあるnet.sf.ehcache.config.Configuratorというクラス。
さっそくダウンロード*2・・・と思ったらCVSに接続しないといけないらしい。。


どうもEclipse経由でプロキシが使えないので、Browseを使って単品で落としてくることに。




・・・メンドイのでそのファイルだけ落としました('')


該当個所(適当に省略)

public class Configurator {

    private static final String DEFAULT_CLASSPATH_CONFIGURATION_FILE = "/ehcache.xml";
    private static final String FAILSAFE_CLASSPATH_CONFIGURATION_FILE = "/ehcache-failsafe.xml";

    public void configure(final Object bean)
            throws Exception {
        final SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
        final BeanHandler handler = new BeanHandler(bean);
        URL url = getClass().getResource(DEFAULT_CLASSPATH_CONFIGURATION_FILE);
        if (url != null) {
            if (LOG.isDebugEnabled()) {
                LOG.debug("Configuring ehcache from ehcache.xml found in the classpath: " + url);
            }
        } else {
            url = getClass().getResource(FAILSAFE_CLASSPATH_CONFIGURATION_FILE);
            if (LOG.isWarnEnabled()) {
                LOG.warn("No configuration found. Configuring ehcache from ehcache-failsafe.xml"
                        + " found in the classpath: " + url);
            }
        }
        parser.parse(url.toExternalForm(), handler);
    }

}


"/ehcache-failsafe.xml"というのはjarに含まれているファイルなので、これをそのままプロジェクトのクラスパス直下(つまり/WEB-INF/javaなり/WEB-INF/srcということか?)にコピーして"ehcache.xml"にリネームすれば解決。


なんだ、それだけか・・・。




ついでにEHCacheとはなんぞやというと*3

EHCacheは、シンプルな構造で高速に動作するJava用のメモリ・ディスクキャッシュ機構です。
(略)
Hibernate 2.1の組み込みキャッシュとして動作する


ということらしい。


まぁキャッシュが遅い、ということになったら内容は精査すればよいのか。



cf.
Hibernateとの関係
http://wiki.bmedianode.com/Hibernate/?EHCache
↓読み難い公式
http://ehcache.sourceforge.net/
↓日本語に訳してくださった神
http://www.moriwaki.net/wiki/index.php?%5B%5BEHCache%5D%5D