org.jruby.RubyClass.addInvalidatorsAndFlush()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(5.0k)|赞(0)|评价(0)|浏览(71)

本文整理了Java中org.jruby.RubyClass.addInvalidatorsAndFlush方法的一些代码示例,展示了RubyClass.addInvalidatorsAndFlush的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RubyClass.addInvalidatorsAndFlush方法的具体详情如下:
包路径:org.jruby.RubyClass
类名称:RubyClass
方法名:addInvalidatorsAndFlush

RubyClass.addInvalidatorsAndFlush介绍

暂无

代码示例

代码示例来源:origin: org.jruby/jruby-complete

public void addInvalidatorsAndFlush(List<Invalidator> invalidators) {
  // add this class's invalidators to the aggregate
  invalidators.add(methodInvalidator);
  // if we're not at boot time, don't bother fully clearing caches
  if (!runtime.isBootingCore()) cachedMethods.clear();
  Map<RubyClass, Object> subclasses = this.subclasses;
  // no subclasses, don't bother with lock and iteration
  if (subclasses == null || subclasses.isEmpty()) return;
  // cascade into subclasses
  for (RubyClass subclass : subclasses.keySet()) subclass.addInvalidatorsAndFlush(invalidators);
}

代码示例来源:origin: org.jruby/jruby-core

public void addInvalidatorsAndFlush(List<Invalidator> invalidators) {
  // add this class's invalidators to the aggregate
  invalidators.add(methodInvalidator);
  // if we're not at boot time, don't bother fully clearing caches
  if (!runtime.isBootingCore()) cachedMethods.clear();
  Map<RubyClass, Object> subclasses = this.subclasses;
  // no subclasses, don't bother with lock and iteration
  if (subclasses == null || subclasses.isEmpty()) return;
  // cascade into subclasses
  for (RubyClass subclass : subclasses.keySet()) subclass.addInvalidatorsAndFlush(invalidators);
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

public void addInvalidatorsAndFlush(List<Invalidator> invalidators) {
  // add this class's invalidators to the aggregate
  invalidators.add(methodInvalidator);
  
  // if we're not at boot time, don't bother fully clearing caches
  if (!runtime.isBooting()) cachedMethods.clear();
  // no subclasses, don't bother with lock and iteration
  if (subclasses == null || subclasses.isEmpty()) return;
  
  // cascade into subclasses
  synchronized (runtime.getHierarchyLock()) {
    Set<RubyClass> mySubclasses = subclasses;
    if (mySubclasses != null) for (RubyClass subclass : mySubclasses) {
      subclass.addInvalidatorsAndFlush(invalidators);
    }
  }
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

public void addInvalidatorsAndFlush(List<Invalidator> invalidators) {
  // add this class's invalidators to the aggregate
  invalidators.add(methodInvalidator);
  
  // if we're not at boot time, don't bother fully clearing caches
  if (!runtime.isBooting()) cachedMethods.clear();
  // no subclasses, don't bother with lock and iteration
  if (subclasses == null || subclasses.isEmpty()) return;
  
  // cascade into subclasses
  synchronized (runtime.getHierarchyLock()) {
    Set<RubyClass> mySubclasses = subclasses;
    if (mySubclasses != null) for (RubyClass subclass : mySubclasses) {
      subclass.addInvalidatorsAndFlush(invalidators);
    }
  }
}

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

public void invalidateCacheDescendants() {
  if (DEBUG) LOG.debug("invalidating descendants: {}", baseName);
  if (includingHierarchies.isEmpty()) {
    // it's only us; just invalidate directly
    methodInvalidator.invalidate();
    return;
  }
  List<Invalidator> invalidators = new ArrayList();
  invalidators.add(methodInvalidator);
  
  synchronized (getRuntime().getHierarchyLock()) {
    for (RubyClass includingHierarchy : includingHierarchies) {
      includingHierarchy.addInvalidatorsAndFlush(invalidators);
    }
  }
  
  methodInvalidator.invalidateAll(invalidators);
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

public void invalidateCacheDescendants() {
  if (DEBUG) LOG.debug("invalidating descendants: {}", baseName);
  if (includingHierarchies.isEmpty()) {
    // it's only us; just invalidate directly
    methodInvalidator.invalidate();
    return;
  }
  List<Invalidator> invalidators = new ArrayList();
  invalidators.add(methodInvalidator);
  
  synchronized (getRuntime().getHierarchyLock()) {
    for (RubyClass includingHierarchy : includingHierarchies) {
      includingHierarchy.addInvalidatorsAndFlush(invalidators);
    }
  }
  
  methodInvalidator.invalidateAll(invalidators);
}

代码示例来源:origin: org.jruby/jruby-complete

public void invalidateCacheDescendants() {
  LOG.debug("{} invalidating descendants", baseName);
  getRuntime().getCaches().incrementMethodInvalidations();
  if (includingHierarchies.isEmpty()) {
    // it's only us; just invalidate directly
    methodInvalidator.invalidate();
    return;
  }
  List<Invalidator> invalidators = new ArrayList<Invalidator>();
  invalidators.add(methodInvalidator);
  synchronized (getRuntime().getHierarchyLock()) {
    for (RubyClass includingHierarchy : includingHierarchies) {
      includingHierarchy.addInvalidatorsAndFlush(invalidators);
    }
  }
  methodInvalidator.invalidateAll(invalidators);
}

代码示例来源:origin: org.jruby/jruby-core

public void invalidateCacheDescendants() {
  LOG.debug("{} invalidating descendants", baseName);
  getRuntime().getCaches().incrementMethodInvalidations();
  if (includingHierarchies.isEmpty()) {
    // it's only us; just invalidate directly
    methodInvalidator.invalidate();
    return;
  }
  List<Invalidator> invalidators = new ArrayList<Invalidator>();
  invalidators.add(methodInvalidator);
  synchronized (getRuntime().getHierarchyLock()) {
    for (RubyClass includingHierarchy : includingHierarchies) {
      includingHierarchy.addInvalidatorsAndFlush(invalidators);
    }
  }
  methodInvalidator.invalidateAll(invalidators);
}

相关文章

微信公众号

最新文章

更多

RubyClass类方法