yxlhw1
2017-07-19 01:18
采纳率: 50%
浏览 1.8k

java项目中如何将map缓存改为ehcache缓存?

java项目中如何将map缓存改为ehcache缓存?各位大神帮帮忙

代码如下
这些缓存以前是放在map中,现在想放入ehcache缓存中

package gov.csc.ems.util.cache;

import gov.csc.ems.basedata.code.model.Codebasdistrict;
import gov.csc.ems.basedata.code.model.Codebassexualdistinction;
import gov.csc.ems.basedata.code.service.ICodebasdistrictService;
import gov.csc.ems.basedata.code.service.ICodebassexualdistinctionService;
import gov.csc.ems.util.dataaccess.model.Emslisttablebase;
import gov.csc.ems.util.dataaccess.model.Emslisttableconfig;
import gov.csc.ems.util.servicebase.UtilFactory;
import gov.csc.ems.util.sys.priv.model.Emsorg;
import gov.csc.ems.util.sys.priv.model.Emspriv;
import gov.csc.ems.util.sys.priv.model.Emsroleprivrel;
import gov.csc.ems.util.sys.priv.model.Emsuser;
import gov.csc.ems.util.sys.priv.util.IConstants;
import gov.csc.ems.util.sys.priv.util.PrivServiceFactory;

import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import com.thtf.ezone.security.util.BeanUtil;

public final class BaseCodeUtil {

private static Map<String, String> orgMap;// ok
private static Map<String, String> orgReverseMap;// ok
private static Map<String, String> orgIdMap;// 没动
private static Map<String, String> orgParentMap;// ok
private static Map orgObjectMap;// ok

private static Map<String, String> districtMap;// ok
private static Map<String, String> fullNamedistrictMap;// ok
private static Map<String, String> parentDistrictMap;// 
private static Map<String, String> allDistrictMap;// ok
private static Map<String, String> shortNameDistrictMap;// ok
private static Map<String, Codebasdistrict> districtObjectMap;// ok
private static Map<String, String> personMap;// not ok

private static Map<String, Emsuser> userMap;// not ok
private static Map<String, String> dutyPersonNameMap;// ok
private static Map<String, String> dutyPersonOrgMap;// ok
private static Map<String, String> dutyPersonSexMap;// ok


//用户组
private static Map<String,String> usergroupMap;

// // 性别MAP表
private static Map basesexMap;

// // 机构
private static final String ALL_ORG_MAP = "all_org_map";
private static final String ORGCODE_BYNAME_MAP = "orgcode_byname_map";
private static final String ORG_PARENT_MAP = "orgparentmap";
private static final String ALL_ORG_MAP_OBJ = "all_org_map_obj";
private static final String RE_INIT_ORG = "re_init_org";

/**
 * 列表基础信息MAP
 */
private static Map<String, Emslisttablebase> tablebaseMap;


public static Map getOrgMap() {
    return BaseCodeUtil.getOrgMapByParam(ALL_ORG_MAP);
}

/**
 * 根据参数取得org相关map flag=,返回key:,value: flag=,返回key:,value:
 * 
 * @param flag
 * @return
 * @author guorj
 * @date May 7, 2009
 */
private static Map getOrgMapByParam(String flag) {
    if (orgMap == null || orgReverseMap == null || orgParentMap == null
            || orgObjectMap == null || RE_INIT_ORG.equals(flag)) {
        orgMap = new LinkedHashMap<String, String>();
        orgReverseMap = new LinkedHashMap<String, String>();
        orgParentMap = new LinkedHashMap<String, String>();
        orgObjectMap = new LinkedHashMap();

        List list = null;
        list = UtilFactory.getEmsorgService().findAllEmsorg();
        if (list != null) {
            for (Iterator iterator = list.iterator(); iterator.hasNext();) {
                Emsorg element = (Emsorg) iterator.next();
                orgMap.put(element.getOrgcode(), element.getOrgname());
                orgReverseMap.put(element.getOrgname(), element
                        .getOrgcode());
                orgParentMap
                        .put(element.getOrgname(), element.getOrgcode());
                orgObjectMap.put(element.getOrgcode(), element);
            }
        }
    }
    if (ALL_ORG_MAP.equals(flag)) {
        return orgMap;
    }
    if (ORGCODE_BYNAME_MAP.equals(flag)) {
        return orgReverseMap;
    }
    if (ORG_PARENT_MAP.equals(flag)) {
        return orgParentMap;
    }
    if (ALL_ORG_MAP_OBJ.equals(flag)) {
        return orgObjectMap;
    }

    return null;
}

}

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • 庄粟 2017-07-19 07:46
    已采纳

    将上面的文件改到ehcache配置文件里去:
    http://blog.csdn.net/zl834205311/article/details/51828645

    我想类里的常量就是被你当作缓存名来用的对吧,在配置文件里配置对应的缓存名就可以了。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • monster_2019 2017-07-19 01:21

    你知道享元模式吗,希望对你有帮助

    评论
    解决 无用
    打赏 举报
  • IAmObject 2017-07-19 06:55
    
    

    public CacheManager manager = CacheManager.create(getClass().getClassLoader().getResource("ehcache.xml"));
    public Cache cache= manager.getCache("你在ehcache.xml里面配置的项目名称");
    cache.put(new Element(key, obj));
    这就是ecache的三步。。那你把你的Map里面的key 对应new Element里面的key, 值对应obj 不就可以了?
    我的项目里面有用到这个。。。

    评论
    解决 无用
    打赏 举报
  • BKCPRO 2017-07-19 08:25
    评论
    解决 无用
    打赏 举报
  • cloudyzhao 2017-07-20 01:32
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题