Package com.skyline.energy.definition

Examples of com.skyline.energy.definition.CacheDefinition


  }

  private CacheResult beforeDataAccess(Object[] args) throws CacheUnreachableException {
    CacheResult cacheResult = new CacheResult(false);

    CacheDefinition cacheDefinition = cacheDefinitionCollection.getCacheDefinition();

    if (cacheDefinition == null) {
      return cacheResult;
    }

    String key = cacheDefinition.generateCacheKey(args);
    if (StringUtils.isEmpty(key)) {
      LOGGER.debug("创建缓存KEY失败,不进行缓存!");
      return cacheResult;
    }
    cacheResult.setKey(key);

    Cache cache = cacheManager.getCache(cacheDefinition.getPool());
    cacheResult.setCache(cache);

    CacheObject oldItem = (CacheObject) cache.get(key);
    LOGGER.debug("从" + key + "获取缓存对象:" + oldItem);
    if (oldItem != null) {
View Full Code Here


    LOGGER.debug("版本号一致,缓存命中");

    String key = cacheResult.getKey();
    cacheResult.setRetVal(cachedItem);

    CacheDefinition cacheDefinition = cacheDefinitionCollection.getCacheDefinition();
    Cache cache = cacheResult.getCache();

    if (cacheDefinition.isReturnCollection()) {
      Page page = CommonUtils.getPageArgument(args, cacheDefinition.getPageIndex());
      if (page != null) { // 判断分页参数是非被复用
        String pageKey = cacheDefinition.generatePageKey(args, key);
        LOGGER.debug("缓存为需要分页的缓存,页码(" + page.getCurpage() + "),对应的分页缓存KEY为:" + pageKey);
        Page cachePage = (Page) cache.get(pageKey);
        page.setTotal(cachePage.getTotal());
        cacheResult.setPageKey(pageKey);
      }
View Full Code Here

    cacheResult.setHit(true);
    return cacheResult;
  }

  private void afterDataAccess(CacheResult cacheResult, Object[] args) throws CacheUnreachableException {
    CacheDefinition cacheDefinition = cacheDefinitionCollection.getCacheDefinition();
    if (cacheDefinition == null) {
      updateVersion(cacheResult, args);
      deleteCache(cacheResult, args);
      return;
    }

    String key = cacheResult.getKey();
    Object exeResult = cacheResult.getRetVal();
    Cache cache = cacheResult.getCache();

    cacheResult = recacheVersionKey(cacheResult, args, cacheDefinition);

    long expire = cacheDefinition.getExpire();

    long currentVersion = cacheResult.getCurrentVersion();

    CacheObject newItem = new CacheObject((Serializable) exeResult, currentVersion);
    cache.add(key, newItem, expire);
    LOGGER.debug("缓存对象到:" + key + ",缓存时间:" + expire + "毫秒");

    if (cacheDefinition.isReturnCollection()) {
      int pageIndex = cacheDefinition.getPageIndex();
      Page page = CommonUtils.getPageArgument(args, pageIndex);
      if (page != null) {
        String pageKey = cacheResult.getPageKey();
        if (pageKey == null) {
          pageKey = cacheDefinition.generatePageKey(args, key);
        }
        if (!StringUtils.isEmpty(pageKey)) {
          cache.add(pageKey, page, expire);
          LOGGER.debug("缓存为需要分页的缓存,页码(" + page.getCurpage() + "),缓存分页对象到:" + pageKey + ", 缓存时间:" + expire + "毫秒");
        }
View Full Code Here

TOP

Related Classes of com.skyline.energy.definition.CacheDefinition

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.