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.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>