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


Java NotificationContext.setType方法代码示例

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


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

示例1: handleDataChange

import org.apache.helix.NotificationContext; //导入方法依赖的package包/类
@Override
public void handleDataChange(String dataPath, Object data) {
  logger.debug("Data change callback: paths changed: " + dataPath);

  try {
    updateNotificationTime(System.nanoTime());
    if (dataPath != null && dataPath.startsWith(_path)) {
      NotificationContext changeContext = new NotificationContext(_manager);
      changeContext.setType(NotificationContext.Type.CALLBACK);
      changeContext.setPathChanged(dataPath);
      changeContext.setChangeType(_changeType);
      enqueueTask(changeContext);
    }
  } catch (Exception e) {
    String msg = "exception in handling data-change. path: " + dataPath + ", listener: " + _listener;
    ZKExceptionHandler.getInstance().handle(msg, e);
  }
}
 
开发者ID:apache,项目名称:helix,代码行数:19,代码来源:CallbackHandler.java

示例2: handleChildChange

import org.apache.helix.NotificationContext; //导入方法依赖的package包/类
@Override
public void handleChildChange(String parentPath, List<String> currentChilds) {
  logger.debug("Data change callback: child changed, path: " + parentPath + ", current childs: "
      + currentChilds);

  try {
    updateNotificationTime(System.nanoTime());
    if (parentPath != null && parentPath.startsWith(_path)) {
      if (currentChilds == null && parentPath.equals(_path)) {
        // _path has been removed, remove this listener
        // removeListener will call handler.reset(), which in turn call invoke() on FINALIZE type
        _manager.removeListener(_propertyKey, _listener);
      } else {
        NotificationContext changeContext = new NotificationContext(_manager);
        changeContext.setType(NotificationContext.Type.CALLBACK);
        changeContext.setPathChanged(parentPath);
        changeContext.setChangeType(_changeType);
        enqueueTask(changeContext);
      }
    }
  } catch (Exception e) {
    String msg = "exception in handling child-change. instance: " + _manager.getInstanceName()
        + ", parentPath: " + parentPath + ", listener: " + _listener;
    ZKExceptionHandler.getInstance().handle(msg, e);
  }
}
 
开发者ID:apache,项目名称:helix,代码行数:27,代码来源:CallbackHandler.java

示例3: init

import org.apache.helix.NotificationContext; //导入方法依赖的package包/类
/**
 * Invoke the listener so that it sets up the initial values from the zookeeper if any
 * exists
 */
public void init() {
  updateNotificationTime(System.nanoTime());
  try {
    NotificationContext changeContext = new NotificationContext(_manager);
    changeContext.setType(NotificationContext.Type.INIT);
    changeContext.setChangeType(_changeType);
    enqueueTask(changeContext);
  } catch (Exception e) {
    String msg = "Exception while invoking init callback for listener:" + _listener;
    ZKExceptionHandler.getInstance().handle(msg, e);
  }
}
 
开发者ID:apache,项目名称:helix,代码行数:17,代码来源:CallbackHandler.java

示例4: reset

import org.apache.helix.NotificationContext; //导入方法依赖的package包/类
/**
 * Invoke the listener for the last time so that the listener could clean up resources
 */
public void reset() {
  try {
    NotificationContext changeContext = new NotificationContext(_manager);
    changeContext.setType(NotificationContext.Type.FINALIZE);
    changeContext.setChangeType(_changeType);
    enqueueTask(changeContext);
  } catch (Exception e) {
    String msg = "Exception while resetting the listener:" + _listener;
    ZKExceptionHandler.getInstance().handle(msg, e);
  }
}
 
开发者ID:apache,项目名称:helix,代码行数:15,代码来源:CallbackHandler.java

示例5: testParticipant

import org.apache.helix.NotificationContext; //导入方法依赖的package包/类
@Test()
public void testParticipant() throws Exception {
  String className = getShortClassName();
  LOG.info("RUN " + className + " at " + new Date(System.currentTimeMillis()));

  final String clusterName = CLUSTER_PREFIX + "_" + className + "_" + "testParticipant";
  String path = "/" + clusterName;
  if (_gZkClient.exists(path)) {
    _gZkClient.deleteRecursive(path);
  }
  TestHelper.setupEmptyCluster(_gZkClient, clusterName);

  final String controllerName = "participant_0";
  HelixManager manager =
      new MockZKHelixManager(clusterName, controllerName, InstanceType.PARTICIPANT, _gZkClient);
  GenericHelixController participant0 = new GenericHelixController();
  List<HelixTimerTask> timerTasks = Collections.emptyList();

  DistributedLeaderElection election =
      new DistributedLeaderElection(manager, participant0, timerTasks);
  NotificationContext context = new NotificationContext(manager);
  context.setType(NotificationContext.Type.INIT);
  election.onControllerChange(context);

  path = PropertyPathBuilder.controllerLeader(clusterName);
  ZNRecord leaderRecord = _gZkClient.<ZNRecord> readData(path, true);
  AssertJUnit.assertNull(leaderRecord);
  // AssertJUnit.assertNull(election.getController());
  // AssertJUnit.assertNull(election.getLeader());
}
 
开发者ID:apache,项目名称:helix,代码行数:31,代码来源:TestDistControllerElection.java


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