📄 mycachemanager.java
字号:
package cn.myapps.util.cache;
import java.io.IOException;
import java.lang.reflect.Method;
import java.util.Iterator;
public class MyCacheManager {
private static ICacheProvider _application;
private MyCacheManager() {
}
public static ICacheProvider getProviderInstance()
throws ClassNotFoundException, InstantiationException,
IllegalAccessException {
if (_application == null) {
try {
CacheConfig cconf = CacheConfig.getInstance();
String providerClassName = cconf.getProviderClassName();
if (providerClassName != null) {
Class clazz = Class.forName(providerClassName);
_application = (ICacheProvider) clazz.newInstance();
for (Iterator iter = cconf.getMethodCacheConfigs().values()
.iterator(); iter.hasNext();) {
MethodCacheConfig value = (MethodCacheConfig) iter.next();
_application.createCache(value.signature,
value.maxElementsInMemory, true, false,
value.timeToIdleSeconds, value.timeToLiveSeconds);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
return _application;
}
public static String buildCacheKeyString(Method method) {
StringBuffer sb = new StringBuffer();
sb.append(method.getDeclaringClass().getName()).append(".").append(
method.getName()).append("(");
Class[] paramsTypes = method.getParameterTypes();
for (int i = 0; i < paramsTypes.length; i++) {
sb.append(paramsTypes[i].getName());
if (i < paramsTypes.length - 1) {
sb.append(",");
}
}
sb.append(")");
return sb.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -