コード例 #1
0
ファイル: Handler.java プロジェクト: eimarfandino/resthub
  @SuppressWarnings("unchecked")
  public C getCached() {
    if (query.isCacheable()) {
      Cache cache = ccf.get(query);
      if (cache == null) {

        if (log.isDebugEnabled()) {
          log.debug(String.format("Cache for %s not found", this));
        }

      } else {

        if (log.isDebugEnabled()) {
          log.debug(String.format("Cache for %s found", this));
        }

        if (cache.isKeyInCache(getId())) {

          Element el = cache.get(getId());
          boolean expired = (el == null || el.isExpired());

          if (log.isDebugEnabled()) {

            log.debug(
                String.format(
                    "Element %d found in %s cache (expired = %s)",
                    getId(), query.getQid(), expired));
          }

          if (el != null && !expired) {
            return (C) el.getObjectValue();
          }

        } else {

          if (log.isDebugEnabled()) {
            log.debug(String.format("Element %d not found in %s cache", getId(), query.getQid()));
          }
        }
      }
    }

    return (C) null;
  }
コード例 #2
0
ファイル: Handler.java プロジェクト: eimarfandino/resthub
  public void setCached(C data) {
    if (query.isCacheable()) {
      Cache cache = ccf.get(query);
      if (cache != null) {

        cache.put(new Element(getId(), data));

        if (query.getHitCount() > 0 && !query.isEternal()) {
          CacheStats cs = getCacheStats();
          ccf.createCacheJob(this, cs.getExpTime());
        }

        if (log.isDebugEnabled()) {
          log.debug(String.format("Element %s put into %s cache", getId(), query.getQid()));
        }
      }
    }
  }