⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mycachemanager.java

📁 OBPM是一个开源
💻 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 + -