public class EhCache*** implements PCache {
private int maxElementsInMemory = Integer.parseInt(ResourceBundle.getBundle("cache")
.getString("cache.maxElementsInMemory").toString());
private boolean overflowToDisk = Boolean.getBoolean(ResourceBundle.getBundle("cache")
.getString("cache.overflowToDisk").toString());
private boolean eternal = Boolean.getBoolean(ResourceBundle.getBundle("cache")
.getString("cache.eternal").toString());
private long timeToIdleSeconds = Long.parseLong(ResourceBundle.getBundle("cache")
.getString("cache.timeToIdleSeconds").toString());;
private long timeToLiveSeconds = Long.parseLong(ResourceBundle.getBundle("cache")
.getString("cache.timeToLiveSeconds").toString());;
Cache cache = null;
public EhCache***(String cacheName){
cache = new Cache(cacheName, this.getMaxElementsInMemory(), this.isOverflowToDisk(), this.isEternal(),
this.getTimeToLiveSeconds(), this.getTimeToIdleSeconds());
}
不过最好用Sring的Bundle
也可以这样初始化
public class EhCache** implements PCache { private int maxElementsInMemory; private boolean overflowToDisk; private boolean eternal; private long timeToIdleSeconds; private long timeToLiveSeconds; private String cacheName = ""; CacheManager manager = CacheManager.create(); private Cache cache = null; public EhCache**(String cacheName){ this.cacheName = cacheName; } public void init(){ cache = new Cache(this.cacheName, this.getMaxElementsInMemory(), this.isOverflowToDisk(), this.isEternal(), this.getTimeToLiveSeconds(), this.getTimeToIdleSeconds()); } }
在xml中,通过注入属性对其进行初始化
<bean id="ehCache" class="com.yk.platform.cache.impl.EhCache*" scope="singleton" init-method="init"> <constructor-arg type="java.lang.String"> <value>newCache</value> </constructor-arg> <property name = "maxElementsInMemory" value="500"></property> <property name = "eternal" value="false"></property> <property name = "timeToIdleSeconds" value="300"></property> <property name = "timeToLiveSeconds" value="1200"></property> <property name = "overflowToDisk" value="true"></property> </bean>