当前位置: 首页>>代码示例>>Java>>正文


Java ZNRecord.setCreationTime方法代码示例

本文整理汇总了Java中org.apache.helix.ZNRecord.setCreationTime方法的典型用法代码示例。如果您正苦于以下问题:Java ZNRecord.setCreationTime方法的具体用法?Java ZNRecord.setCreationTime怎么用?Java ZNRecord.setCreationTime使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.helix.ZNRecord的用法示例。


在下文中一共展示了ZNRecord.setCreationTime方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getChildren

import org.apache.helix.ZNRecord; //导入方法依赖的package包/类
public static List<ZNRecord> getChildren(ZkClient client, String path) {
  // parent watch will be set by zkClient
  List<String> children = client.getChildren(path);
  if (children == null || children.size() == 0) {
    return Collections.emptyList();
  }

  List<ZNRecord> childRecords = new ArrayList<ZNRecord>();
  for (String child : children) {
    String childPath = path + "/" + child;
    Stat newStat = new Stat();
    ZNRecord record = client.readDataAndStat(childPath, newStat, true);
    if (record != null) {
      record.setVersion(newStat.getVersion());
      record.setCreationTime(newStat.getCtime());
      record.setModifiedTime(newStat.getMtime());
      childRecords.add(record);
    }
  }
  return childRecords;
}
 
开发者ID:apache,项目名称:helix,代码行数:22,代码来源:ZKUtil.java

示例2: deepCopyZNRecord

import org.apache.helix.ZNRecord; //导入方法依赖的package包/类
/**
 * Return a deep copy of a ZNRecord.
 *
 * @return
 */
public ZNRecord deepCopyZNRecord(ZNRecord record) {
  ZNRecord copy = new ZNRecord(record.getId());

  copy.getSimpleFields().putAll(record.getSimpleFields());
  for (String mapKey : record.getMapFields().keySet()) {
    Map<String, String> mapField = record.getMapFields().get(mapKey);
    copy.getMapFields().put(mapKey, new TreeMap<String, String>(mapField));
  }

  for (String listKey : record.getListFields().keySet()) {
    copy.getListFields().put(listKey, new ArrayList<String>(record.getListFields().get(listKey)));
  }
  if (record.getRawPayload() != null) {
    byte[] rawPayload = new byte[record.getRawPayload().length];
    System.arraycopy(record.getRawPayload(), 0, rawPayload, 0, record.getRawPayload().length);
    copy.setRawPayload(rawPayload);
  }

  copy.setVersion(record.getVersion());
  copy.setCreationTime(record.getCreationTime());
  copy.setModifiedTime(record.getModifiedTime());

  return copy;
}
 
开发者ID:apache,项目名称:helix,代码行数:30,代码来源:TestResourceMonitor.java

示例3: getZnRecord

import org.apache.helix.ZNRecord; //导入方法依赖的package包/类
@Nullable
public static ZNRecord getZnRecord(@Nonnull ZkHelixPropertyStore<ZNRecord> propertyStore, @Nonnull String path) {
  Stat stat = new Stat();
  ZNRecord znRecord = propertyStore.get(path, stat, AccessOption.PERSISTENT);
  if (znRecord != null) {
    znRecord.setCreationTime(stat.getCtime());
    znRecord.setModifiedTime(stat.getMtime());
    znRecord.setVersion(stat.getVersion());
  }
  return znRecord;
}
 
开发者ID:linkedin,项目名称:pinot,代码行数:12,代码来源:ZKMetadataProvider.java

示例4: getProperty

import org.apache.helix.ZNRecord; //导入方法依赖的package包/类
@Override
public <T extends HelixProperty> T getProperty(PropertyKey key) {
  PropertyType type = key.getType();
  String path = key.getPath();
  int options = constructOptions(type);
  ZNRecord record = null;
  try {
    Stat stat = new Stat();
    record = _baseDataAccessor.get(path, stat, options);
    if (record != null) {
      record.setCreationTime(stat.getCtime());
      record.setModifiedTime(stat.getMtime());
      record.setVersion(stat.getVersion());
    }
  } catch (ZkNoNodeException e) {
    // OK
  }

  switch (type) {
  case CURRENTSTATES:
  case IDEALSTATES:
  case EXTERNALVIEW:
    // check if bucketized
    if (record != null) {
      HelixProperty property = new HelixProperty(record);

      int bucketSize = property.getBucketSize();
      if (bucketSize > 0) {
        // @see HELIX-574
        // clean up list and map fields in case we write to parent node by mistake
        property.getRecord().getMapFields().clear();
        property.getRecord().getListFields().clear();

        List<ZNRecord> childRecords = _baseDataAccessor.getChildren(path, null, options);
        ZNRecord assembledRecord = new ZNRecordAssembler().assemble(childRecords);

        // merge with parent node value
        if (assembledRecord != null) {
          record.getSimpleFields().putAll(assembledRecord.getSimpleFields());
          record.getListFields().putAll(assembledRecord.getListFields());
          record.getMapFields().putAll(assembledRecord.getMapFields());
        }
      }
    }
    break;
  default:
    break;
  }

  @SuppressWarnings("unchecked")
  T t = (T) HelixProperty.convertToTypedInstance(key.getTypeClass(), record);
  return t;
}
 
开发者ID:apache,项目名称:helix,代码行数:54,代码来源:ZKHelixDataAccessor.java


注:本文中的org.apache.helix.ZNRecord.setCreationTime方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。