clearcacheadvice.java

来自「采用tapestry的简单OA系统」· Java 代码 · 共 35 行

JAVA
35
字号
package com.ejsun.entapps.core.cache;

import java.lang.reflect.Method;
import java.util.Iterator;
import java.util.List;

import org.springframework.aop.MethodBeforeAdvice;

/**
 * @author	Quake Wang
 * @since	2004-5-18
 * @version $Revision: 1.1 $
 * 
 **/
public class ClearCacheAdvice implements MethodBeforeAdvice {
	private CacheManager cacheManager;
	private CacheController cacheController;
	
	//TODO find a solution to clear the cached object with key, not remove all 		
	public void before(Method m, Object[] args, Object target) throws Throwable {
		List relativeCaches = cacheController.getRelativeCaches(m, args);
		for (Iterator iter = relativeCaches.iterator(); iter.hasNext();) {
			cacheManager.getCache((String) iter.next()).removeAll();
		}
	}
	
	public void setCacheManager(CacheManager manager) {
		cacheManager = manager;
	}

	public void setCacheController(CacheController controller) {
		cacheController = controller;
	}
}

⌨️ 快捷键说明

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