Codota Logo
com.oberasoftware.jasdb.api.caching
Code IndexAdd Codota to your IDE (free)

How to use com.oberasoftware.jasdb.api.caching

Best Java code snippets using com.oberasoftware.jasdb.api.caching (Showing top 20 results out of 315)

  • Add the Codota plugin to your IDE and get smart completions
private void myMethod () {
DateTime d =
  • Codota Iconnew DateTime()
  • Codota IconDateTimeFormatter formatter;String text;formatter.parseDateTime(text)
  • Codota IconObject instant;new DateTime(instant)
  • Smart code suggestions by Codota
}
origin: oberasoftware/jasdb

@Override
public long getCachedBlocks() {
  return memoryRegion.size();
}
origin: oberasoftware/jasdb

@Override
public long getTotalMemoryUsage() {
  return memoryRegion.memorySize();
}
origin: oberasoftware/jasdb

public <T extends Comparable<T>> void registerRegion(CacheRegion<T, ? extends CacheEntry> region) {
  regionMap.putIfAbsent(region.name(), region);
}
origin: oberasoftware/jasdb

  @RequestMapping(value = "/Caches", method = RequestMethod.GET, produces = "application/json")
  public RestEntity loadModel() throws RestException {
    GlobalCachingMemoryManager cachingMemoryManager = GlobalCachingMemoryManager.getGlobalInstance();

    List<CacheBucket> buckets = new ArrayList<>();
    for(CacheRegion region : cachingMemoryManager.getRegions()) {
      buckets.add(new CacheBucket(region.name(), region.size(), region.memorySize()));
    }

    return new CacheBucketCollection(buckets);
  }
}
origin: oberasoftware/jasdb

private CacheRegion<? extends Comparable, ?> getLeastUsedRegion(Set<CacheRegion> checkedRegions) {
  CacheRegion<? extends Comparable, ?> leastUsed = null;
  for(CacheRegion<? extends Comparable, ?> region: getRegions()) {
    LOG.debug("Checking region: {}", region);
    if(!checkedRegions.contains(region)) {
      LOG.debug("Region available: {}", region.memorySize());
      if(leastUsed == null || leastUsed.lastRegionAccess() > region.lastRegionAccess()) {
        leastUsed = region;
      }
    }
  }
  return leastUsed;
}
origin: oberasoftware/jasdb

@Override
public void writeRecord(UUIDKey documentId, ClonableDataStream dataStream) throws JasDBStorageException {
  wrappedWriter.writeRecord(documentId, dataStream);
  String cachingKey = storeName + "_" + documentId.toString();
  if(bucket.containsItem(cachingKey)) {
    bucket.remove(cachingKey);
  }
}
origin: oberasoftware/jasdb

@Override
public RecordResult readRecord(UUIDKey documentId) throws JasDBStorageException {
  String cachingKey = storeName + "_" + documentId.toString();
  if(!bucket.containsItem(cachingKey)) {
    return readRecordFromStore(cachingKey, documentId);
  } else {
    log.debug("Cache hit for record: {} key: {}", documentId, cachingKey);
    CachableRecord cachedRecord = (CachableRecord) bucket.getItem(cachingKey);
    if(cachedRecord != null) {
      return cachedRecord.getResult();
    } else {
      return readRecordFromStore(cachingKey, documentId);
    }
  }
}
origin: oberasoftware/jasdb

  @Override
  public void updateRecord(UUIDKey documentId, ClonableDataStream dataStream) throws JasDBStorageException {
    wrappedWriter.updateRecord(documentId, dataStream);

    String cachingKey = storeName + "_" + documentId.toString();
    bucket.remove(cachingKey);
  }
}
origin: oberasoftware/jasdb

public void shutdownCacheManager() {
  for(Bucket bucket : buckets.values()) {
    bucket.closeBucket();
  }
  
  buckets.clear();
}

origin: oberasoftware/jasdb

@Override
public long memorySize() {
  lock.lock();
  try {
    long memorySize = 0;
    for(EntryWrapper entryWrapper : cachedBlocks.values()) {
      memorySize += entryWrapper.getEntry().memorySize();
    }
    return memorySize;
  } finally {
    lock.unlock();
  }
}
origin: oberasoftware/jasdb

public void flushAndCloseBlock(IndexBlock block) throws JasDBStorageException {
  persistBlock(block);
  memoryRegion.removeEntry(block.getPosition());
}
origin: oberasoftware/jasdb

@Override
public void flush() throws JasDBStorageException {
  for(IndexBlockEntry entry : memoryRegion.values()) {
    IndexBlock block = entry.getValue();
    persistBlock(block);
  }
}
origin: oberasoftware/jasdb

@Override
public void releaseBlock(IndexBlock block) {
  memoryRegion.getEntry(block.getPosition()).releaseToken();
}
origin: oberasoftware/jasdb

public void checkMemoryState(Set<CacheRegion> ignoreRegions) {
  long memorySize = calculateMemorySize();
  if(memorySize > maximumMemory) {
    LOG.debug("Current memory size: {}", memorySize);
    LOG.debug("Maximum memory: {}", maximumMemory);
    long reduceSize = memorySize - maximumMemory;
    LOG.info("Memory overflow: {} bytes more than allowed limit", reduceSize);
    CacheRegion<? extends Comparable, ?> leastUsed = getLeastUsedRegion(ignoreRegions);
    if(leastUsed != null) {
      long actualReduce = leastUsed.reduceBy(reduceSize);
      LOG.debug("Reduced region: {} by: {} bytes", leastUsed, actualReduce);
      if(actualReduce < reduceSize) {
        ignoreRegions.add(leastUsed);
        LOG.debug("Reduce was not sufficient to meet reduce size: {} was actually: {}", reduceSize, actualReduce);
        checkMemoryState(ignoreRegions);
      }
    } else {
      LOG.warn("Could not reduce memory footprint further, no more reducable regions available, current memory footprint: {}", calculateMemorySize());
    }
  }
}
origin: oberasoftware/jasdb

private RecordResult readRecordFromStore(String cachingKey, UUIDKey key) throws JasDBStorageException {
  log.debug("Cache miss for record: {}", key);
  RecordResult result = wrappedWriter.readRecord(key);
  if(!result.isRecordFound()) {
    bucket.put(cachingKey, new CachableRecord(result));
  }
  return result;
}
origin: oberasoftware/jasdb

  private Bucket createOrGetBucket(String bucketName) throws CoreConfigException {
    if(!buckets.containsKey(bucketName)) {
      CacheConfig usedConfig = null;
      if(bucketConfigs.containsKey(bucketName)) {
        usedConfig = bucketConfigs.get(bucketName);
      } else {
        usedConfig = defaultConfig;
      }
      
      Bucket bucket;
      if(usedConfig.isEnabled()) {
         bucket = new CacheBucket(bucketName);
      } else {
        bucket = new DummyBucket();
      }
      bucket.configure(usedConfig);
      buckets.put(bucketName, bucket);
      return bucket;
    } else {
      return buckets.get(bucketName);
    }
  }
}
origin: oberasoftware/jasdb

@Override
public void close() throws JasDBStorageException {
  flush();
  memoryRegion.clear();
  GlobalCachingMemoryManager.getGlobalInstance().unregisterRegion(keyInfo.getKeyName());
}
origin: oberasoftware/jasdb

@Override
public void put(String key, CachableItem cacheItem) {
  lock.lock();
  try {
    CacheElement element = new CacheElement(key, cacheItem);
    cachedItems.put(key, element);
    Long entryId = getEntryId();
    element.setEntryId(entryId);
    lruItems.put(entryId, key);
    totalMemorySize.addAndGet(cacheItem.getObjectSize());
    
    runInvalidator();
  } finally {
    lock.unlock();
  }
}

origin: oberasoftware/jasdb

public long calculateMemorySize() {
  long total = 0;
  for(CacheRegion<? extends Comparable, ?> region: regionMap.values()) {
    total += region.memorySize();
  }
  return total;
}
origin: oberasoftware/jasdb

@Override
public void removeRecord(UUIDKey documentId) throws JasDBStorageException {
  wrappedWriter.removeRecord(documentId);
  String cachingKey = storeName + "_" + documentId.toString();
  bucket.remove(cachingKey);
}
com.oberasoftware.jasdb.api.caching

Most used classes

  • CacheRegion
  • Bucket
  • CachableItem
  • CacheEntry
  • MemoryAware
Codota Logo
  • Products

    Search for Java codeSearch for JavaScript codeEnterprise
  • IDE Plugins

    IntelliJ IDEAWebStormAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimAtomGoLandRubyMineEmacsJupyter
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogCodota Academy Plugin user guide Terms of usePrivacy policyJava Code IndexJavascript Code Index
Get Codota for your IDE now