1. ehcache.xml(位于src目录下)
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd"
updateCheck="false" monitoring="autodetect"
dynamicConfig="true">
<diskStore path="java.io.tmpdir"/>
<defaultCache
maxEntriesLocalHeap="10000"
eternal="false"
overflowToDisk="true"
timeToIdleSeconds="20"
timeToLiveSeconds="60">
</defaultCache>
<cache name="UserCache"
maxEntriesLocalHeap="10000"
maxEntriesLocalDisk="1000"
eternal="false"
timeToIdleSeconds="300"
timeToLiveSeconds="600"
memoryStoreEvictionPolicy="LFU"
/>
</ehcache>
2. config.java
@Override
public void configPlugin(Plugins me) {
me.add(new EhCachePlugin());//add ehcache plugin
loadPropertyFile("db.txt");
C3p0Plugin cp=new C3p0Plugin(getProperty("jdbcUrl"), getProperty("user"), getProperty("password"), "oracle.jdbc.driver.OracleDriver");
me.add(cp);
ActiveRecordPlugin arp=new ActiveRecordPlugin(cp);
me.add(arp);
arp.setDialect(new OracleDialect());
arp.setContainerFactory(new CaseInsensitiveContainerFactory());
arp.addMapping("cuser","id",Cuser.class);
}
3. controller
public void show()
{
List<Cuser> cuserList=CacheKit.get("UserCache","cuserList");
if(null==cuserList)
{
cuserList=Cuser.dao.findAll();
CacheKit.put("UserCache","cuserList",cuserList);
}
setAttr("cuserList",cuserList);
renderJsp("cuser.jsp");
}
public void save()
{
Cuser cuser=getModel(Cuser.class);
cuser.set("id","c_user_id.nextval").save();
CacheKit.remove("UserCache","cuserList");
redirect("/cuser/show");
}