哪个Ehcache导入使用?

时间:2017-08-16 22:26:13

标签: java caching ehcache

我刚刚开始使用Ehcache,并尝试在JAX-RS框架中缓存方法调用的结果。有人能告诉我我的班级应该进口什么吗?出于某种原因,我似乎无法在我读过的(非常令人困惑的)例子中找到这些行。我也很感激Ehcache中任何Java方法缓存的链接....我发现的一切似乎都在尝试做非常复杂的事情!

import org.ehcache.Cache;
import org.ehcache.CacheManager;

/**
 *
 * @author king
 */
public class CacheTest {
CacheManager cacheMgr = CacheManager.newInstance();

//EJB?Stateless?
HelloService hello;


public Object getCache(){
    //Initialise a cache if it does not already exist
    if (cacheMgr.getCache("MyCache") == null) {
        cacheMgr.addCache("MyCache");
    }
    Cache cache = cacheMgr.getCache("MyCache");

    String s=hello.getUserInfo(103);
    //Store an element
    cache.put(new Element("103", s));

    //Retrieve an element
    Element el = cache.get("key");
    Serializable myObj = <Serializable>el.getObjectValue();
    return myObj;
}

}

ehcache.xml(在资源文件夹中)

<ehcache>
    <diskStore path="java.io.tmpdir"/>
    <cache name="MyCache"
       maxEntriesLocalHeap="10000"
       eternal="false"
       timeToIdleSeconds="120"
       timeToLiveSeconds="120"
       maxEntriesLocalDisk="10000000"
       diskExpiryThreadIntervalSeconds="120"
       memoryStoreEvictionPolicy="LRU"
        >
       <persistence strategy="localTempSwap"/>
    </cache>
</ehcache>

1 个答案:

答案 0 :(得分:3)

您似乎正在使用ehcache2(net.sf.ehcache)配置文件,而在您的代码中使用ehcache3(org.ehcache)

再次尝试使用兼容ehcache3的xml文件(您可以在ehcache3 official websitethe peeper example甚至this little project I setup the other day上找到灵感