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

📄 servicewrapper.java

📁 这是一款最新的野蔷薇论坛源码,有需要的朋友可以尽情下载
💻 JAVA
字号:
/* 
 * Created on 2007-1-18
 * Last modified on 2007-08-21
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.service;

import com.yeqiangwei.club.cache.Cache;
import com.yeqiangwei.club.cache.CacheRegion;
import com.yeqiangwei.club.cache.singleton.CacheFactory;

import org.apache.log4j.Logger;
import com.yeqiangwei.util.Validator;

public class ServiceWrapper{
	
	private static final Logger logger = Logger.getLogger(ServiceWrapper.class);
	
	public static Cache SERVICE_CACHE =  CacheFactory.creator(CacheRegion.SERVICE);
	
	private static ServiceManager SERVICE_MANAGER;
	
	static int serviceHit = 0;
	
	static class ServiceSingleton<ServiceObj> {
		static <ServiceObj> ServiceObj getService(String locator) {
			return ServiceWrapper.<ServiceObj>getServiceManager().getService(locator);
		} 
	}      
	
	public static BaseService getServiceInstance(String locator) { 
		BaseService service = (BaseService) SERVICE_CACHE.get(locator);
		if(Validator.isEmpty(service)){
			service = ServiceSingleton.<BaseService>getService(locator);
			SERVICE_CACHE.put(locator,service);
			serviceHit = 0;
		}else{
			serviceHit++;
		}
		return service;
	}
	
	@SuppressWarnings("unchecked")
	public static<ServiceObj> ServiceObj getSingletonInstance(String locator) { 
		ServiceObj service = (ServiceObj) SERVICE_CACHE.get(locator);
		if(Validator.isEmpty(service)){
			service = ServiceSingleton.<ServiceObj>getService(locator);
			SERVICE_CACHE.put(locator,service);
			serviceHit = 0;
		}else{
			serviceHit++;
		}
		return service;
	}  
	
	@SuppressWarnings("unchecked")
	public static<ServiceObj> ServiceManager<ServiceObj> getServiceManager() {
		SERVICE_MANAGER = (ServiceManager) SERVICE_CACHE.get("com.yeqiangwei.club.service.ServiceManager");
		if(Validator.isEmpty(SERVICE_MANAGER)){
			SERVICE_MANAGER = new ServiceImpl<ServiceObj>();
			SERVICE_CACHE.put("com.yeqiangwei.club.service.ServiceManager",SERVICE_MANAGER);
			logger.info("create: com.yeqiangwei.club.service.ServiceManager");
		}
		return ServiceWrapper.SERVICE_MANAGER;
	}
	
	
}

⌨️ 快捷键说明

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