0

Ehcache に単純な Web ページをキャッシュしようとしています。別の SO 投稿の助けのおかげで、Ehcache 2 コードに基づいて独自のフィルターを実装する必要があることがわかりました。フィルターを見てもよくわかりません。キャッシュを呼び出して値を返す場所はどこですか? これが私の実装です(かなり間違っている可能性があります):

package com.sentiment360.pulse.cache;

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.bind.Element;
import org.ehcache.Cache;
import org.ehcache.CacheManager;
import org.ehcache.config.Configuration;
import static org.ehcache.config.builders.CacheManagerBuilder.newCacheManager;
import org.ehcache.core.Ehcache;
import org.ehcache.event.CacheEvent;
import org.ehcache.event.CacheEventListener;
import org.ehcache.xml.XmlConfiguration;

import javax.servlet.http.HttpServletRequest;

public class SimplePageCachingFilter implements CachingFilter {
     public static final String DEFAULT_CACHE_NAME = "SimplePageCachingFilter";
     private Logger LOG = Logger.getLogger(this.getClass().getName());
     private String cacheName="basicCache";

    protected String getCacheName() {
         if (cacheName != null && cacheName.length() > 0) {
              LOG.log(Level.INFO,"Using configured cacheName of {}.", cacheName);
              return cacheName;
          } else {
               LOG.log(Level.INFO,"No cacheName configured. Using default of {}.", DEFAULT_CACHE_NAME);
               return DEFAULT_CACHE_NAME;
           }
    }

    protected CacheManager getCacheManager() {
      return CacheManager.getInstance();
    }

    protected String calculateKey(HttpServletRequest httpRequest) {
      StringBuffer stringBuffer = new StringBuffer();
      stringBuffer.append(httpRequest.getMethod()).append(httpRequest.getRequestURI()).append(httpRequest.getQueryString());
      String key = stringBuffer.toString();
      return key;
    }
}
4

1 に答える 1