程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 關於OpensymphonyCache的小介紹

關於OpensymphonyCache的小介紹

編輯:關於JAVA

Opensymphony(http://www.opensymphony.com)是一個很好提供開源項目的組織。同Jakarta相比,這裡的組件(Component)更多的是精致小巧的設計,它們尤以簡單易用和可插拔的靈活性見長。

Java代碼

/** Cache.Java */

public interface Cache {

Object get(Object key) throws CacheException;

void put(Object key, Object value) throws CacheException;

void remove(Object key) throws CacheException;

void clear() throws CacheException;

void destroy() throws CacheException;}

/** OSCache.Java */

public class OSCache implements Cache {

private GeneralCacheAdministrator cache = null;

public OSCache(PropertIEs prop) {

cache = new GeneralCacheAdministrator(prop);

}

public void setCacheCapacity(int cacheCapacity) {

cache.setCacheCapacity(cacheCapacity);

}

public Object get(Object key) throws CacheException {

try {

return cache.getFromCache(String.valueOf(key));

} catch (NeedsRefreshException e) {

cache.cancelUpdate(String.valueOf(key));

return null;

}

}

public void put(Object key, Object value) throws CacheException {

cache.putInCache(String.valueOf(key), value);

}

public void remove(Object key) throws CacheException {

cache.flushEntry(String.valueOf(key));

}

public void clear() throws CacheException {

cache.flushAll();

}

public void destroy() throws CacheException {

cache.destroy();

}

}

/** CacheManager.Java */

public class CacheManager { //$SUP-USP$

private static Map cacheMap = new HashMap();

private static Config config = ConfigManager.getConfig();

private CacheManager() {

}

public static Cache getCache(Class clazz) {

return getCache(clazz.getName());

}

public static Cache getCache(String cacheId) {

Cache cache = null;

cache = (Cache) cacheMap.get(cacheId);

if (cache == null) {

cache = new OSCache(config.getPropertIEs());

cacheMap.put(cacheId, cache);

}

return cache;

}

}

OSCache:J2EE Caching機制。它主要用於JSP Caching、Request Caching、General-Purpose Cache三個方面。在JSP Caching、Request Caching方面,OSCache能夠解決動態網站的基本問題:緩存動態內容、緩存二進制內容、錯誤包容。在General-Purpose Cache方面,在Java應用中通過調用OSCache的API來緩存任意的Java對象,hibernate 2.0開始對其也有支持。

OSCache標記庫是一種開創性的JSP定制標記應用,提供了在現有JSP頁面之內實現快速內存緩沖的功能。雖然已經有一些供應商在提供各種形式的緩存產品,但是,它們都屬於面向特定供應商的產品。OSCache能夠在任何JSP 1.2兼容的服務器上運行,它不僅能夠為所有用戶緩沖現有JSP代碼塊,而且能夠以用戶為單位進行緩沖。OSCache還包含一些提高可伸縮性的高級特性,比如:緩沖到磁盤,可編程的緩沖刷新,異常控制,等等。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved