fkachepool.java

来自「Speedframework--基于类型元数据的羽量级ORM.完全基于Java类」· Java 代码 · 共 71 行

JAVA
71
字号
package org.speedframework.cache;

import java.io.Serializable;
import java.util.Hashtable;
import java.util.Map;

import javax.util.jcache.CacheAccessFactory;

import org.apache.jcs.access.exception.CacheException;

/**
 * jcache/FKache Pool
 * @author lizf
 *
 */
public class FKachePool implements Serializable, CachePool {

	/**
	 * 
	 */
	private static final long serialVersionUID = -4940701666104340804L;

	private static Hashtable cachePool = new Hashtable();
	  private static String key = null;
	  
	  public  void newInstance(String region) throws CacheException {
	    key = region;
	    if (!cachePool.containsKey(region)) {
	    	CacheAccessFactory factory = CacheAccessFactory.getInstance();
	    	Map cache=null;
			try {
				cache = factory.getMapAccess();
			} catch (javax.util.jcache.CacheException e) {
				throw new	CacheException(e);
			}	    	
	        cachePool.put(region, cache);
	    }

	  }

	  public  void put(Object name, Object value) throws CacheException {
		  Map cache = (Map) cachePool.get(key);
		  cache.put(name, value);
	  }

	  public  Object get(Object name)  {		 
		  Map cache = (Map) cachePool.get(key);
		  return cache.get(name);
	  }

	  public  String getStats()  {
//	    return ( (Map) cachePool.get(key)).size();
		  return null;
	  }

	  public  void putInGroup(Object name, Object value) throws
	      CacheException {
//	    ( (Cache) cachePool.get(key)).putSafe(name, value);		
	  }

	  public  void dispose()  {		   
	    cachePool.remove(key);
	  }

	  public  void remove(Object name) throws CacheException {		 
		  Map cache = (Map) cachePool.get(key);		  
		  cache.remove(name.toString());
	  }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?