Java源码示例:org.apache.helix.api.listeners.InstanceConfigChangeListener

示例1
@Override
public void addInstanceConfigChangeListener(InstanceConfigChangeListener listener)
    throws Exception {
  addListener(listener, new Builder(_clusterName).instanceConfigs(), ChangeType.INSTANCE_CONFIG,
      new EventType[] { EventType.NodeChildrenChanged
      });
}
 
示例2
@Deprecated
@Override
public void addInstanceConfigChangeListener(org.apache.helix.InstanceConfigChangeListener listener)
    throws Exception {
  addListener(listener, new Builder(_clusterName).instanceConfigs(), ChangeType.INSTANCE_CONFIG,
      new EventType[] { EventType.NodeChildrenChanged
      });
}
 
示例3
@Override
public void addDataNodeConfigChangeListener(DataNodeConfigChangeListener listener) throws Exception {
  helixManager.addInstanceConfigChangeListener((InstanceConfigChangeListener) (instanceConfigs, context) -> {
    Iterable<DataNodeConfig> dataNodeConfigs =
        () -> instanceConfigs.stream().map(this::convert).filter(Objects::nonNull).iterator();
    listener.onDataNodeConfigChange(dataNodeConfigs);
  });
}
 
示例4
private void parseListenerProperties() {
  BatchMode batchMode = _listener.getClass().getAnnotation(BatchMode.class);
  PreFetch preFetch = _listener.getClass().getAnnotation(PreFetch.class);

  String asyncBatchModeEnabled = System.getProperty(SystemPropertyKeys.ASYNC_BATCH_MODE_ENABLED);
  if (asyncBatchModeEnabled == null) {
    // for backcompatible, the old property name is deprecated.
    asyncBatchModeEnabled =
        System.getProperty(SystemPropertyKeys.LEGACY_ASYNC_BATCH_MODE_ENABLED);
  }

  if (asyncBatchModeEnabled != null) {
    _batchModeEnabled = Boolean.parseBoolean(asyncBatchModeEnabled);
    logger.info("isAsyncBatchModeEnabled by default: {}", _batchModeEnabled);
  }

  if (batchMode != null) {
    _batchModeEnabled = batchMode.enabled();
  }
  if (preFetch != null) {
    _preFetchEnabled = preFetch.enabled();
  }

  Class listenerClass = null;
  switch (_changeType) {
    case IDEAL_STATE:
      listenerClass = IdealStateChangeListener.class;
      break;
    case INSTANCE_CONFIG:
      if (_listener instanceof ConfigChangeListener) {
        listenerClass = ConfigChangeListener.class;
      } else if (_listener instanceof InstanceConfigChangeListener) {
        listenerClass = InstanceConfigChangeListener.class;
      }
      break;
    case CLUSTER_CONFIG:
      listenerClass = ClusterConfigChangeListener.class;
      break;
    case RESOURCE_CONFIG:
      listenerClass = ResourceConfigChangeListener.class;
      break;
    case CUSTOMIZED_STATE_CONFIG:
      listenerClass = CustomizedStateConfigChangeListener.class;
      break;
    case CONFIG:
      listenerClass = ConfigChangeListener.class;
      break;
    case LIVE_INSTANCE:
      listenerClass = LiveInstanceChangeListener.class;
      break;
    case CURRENT_STATE:
      listenerClass = CurrentStateChangeListener.class;
      break;
    case CUSTOMIZED_STATE_ROOT:
      listenerClass = CustomizedStateRootChangeListener.class;
      break;
    case CUSTOMIZED_STATE:
      listenerClass = CustomizedStateChangeListener.class;
      break;
    case MESSAGE:
    case MESSAGES_CONTROLLER:
      listenerClass = MessageListener.class;
      break;
    case EXTERNAL_VIEW:
    case TARGET_EXTERNAL_VIEW:
      listenerClass = ExternalViewChangeListener.class;
      break;
    case CUSTOMIZED_VIEW:
      listenerClass = CustomizedViewChangeListener.class;
      break;
    case CUSTOMIZED_VIEW_ROOT:
      listenerClass = CustomizedViewRootChangeListener.class;
      break;
    case CONTROLLER:
      listenerClass = ControllerChangeListener.class;
  }

  Method callbackMethod = listenerClass.getMethods()[0];
  try {
    Method method = _listener.getClass().getMethod(callbackMethod.getName(),
        callbackMethod.getParameterTypes());
    BatchMode batchModeInMethod = method.getAnnotation(BatchMode.class);
    PreFetch preFetchInMethod = method.getAnnotation(PreFetch.class);
    if (batchModeInMethod != null) {
      _batchModeEnabled = batchModeInMethod.enabled();
    }
    if (preFetchInMethod != null) {
      _preFetchEnabled = preFetchInMethod.enabled();
    }
  } catch (NoSuchMethodException e) {
    logger.warn("No method {} defined in listener {}", callbackMethod.getName(),
        _listener.getClass().getCanonicalName());
  }
}
 
示例5
@Override
public void addInstanceConfigChangeListener(InstanceConfigChangeListener listener)
    throws Exception {
  // TODO Auto-generated method stub
}
 
示例6
@Override
public void addInstanceConfigChangeListener(InstanceConfigChangeListener listener)
    throws Exception {
  // TODO Auto-generated method stub

}
 
示例7
@Override
public void addInstanceConfigChangeListener(InstanceConfigChangeListener listener)
    throws Exception {
  // TODO Auto-generated method stub

}
 
示例8
@Override
public void onInstanceConfigChange(List<InstanceConfig> instanceConfigs, NotificationContext context) {
  for (InstanceConfigChangeListener registeredInstanceConfigChangeListener : registeredInstanceConfigChangeListeners) {
    registeredInstanceConfigChangeListener.onInstanceConfigChange(instanceConfigs, context);
  }
}
 
示例9
@Override
public void registerInstanceConfigChangeListener(InstanceConfigChangeListener instanceConfigChangeListener) {
  registeredInstanceConfigChangeListeners.add(instanceConfigChangeListener);
}
 
示例10
@Override
public void registerInstanceConfigChangeListener(InstanceConfigChangeListener instanceConfigChangeListener) {
  registeredInstanceConfigChangeListeners.add(instanceConfigChangeListener);
}
 
示例11
@Override
public void onInstanceConfigChange(List<InstanceConfig> instanceConfigs, NotificationContext context) {
  for (InstanceConfigChangeListener registeredInstanceConfigChangeListener : registeredInstanceConfigChangeListeners) {
    registeredInstanceConfigChangeListener.onInstanceConfigChange(instanceConfigs, context);
  }
}
 
示例12
@Override
public void addInstanceConfigChangeListener(org.apache.helix.InstanceConfigChangeListener listener) throws Exception {
  // deprecated InstanceConfigChangeListener is no longer supported in testing
  throw new IllegalStateException("Not implemented");
}
 
示例13
@Override
public void addInstanceConfigChangeListener(InstanceConfigChangeListener instanceConfigChangeListener)
    throws Exception {
  this.instanceConfigChangeListener = instanceConfigChangeListener;
  triggerConfigChangeNotification(true);
}
 
示例14
/**
 * @see InstanceConfigChangeListener#onInstanceConfigChange(List, NotificationContext)
 * @param listener
 */
void addInstanceConfigChangeListener(InstanceConfigChangeListener listener) throws Exception;
 
示例15
/**
 * @see InstanceConfigChangeListener#onInstanceConfigChange(List, NotificationContext)
 * @param listener
 */
@Deprecated
void addInstanceConfigChangeListener(org.apache.helix.InstanceConfigChangeListener listener) throws Exception;
 
示例16
@Override
public void addInstanceConfigChangeListener(org.apache.helix.InstanceConfigChangeListener listener) throws Exception {

}
 
示例17
@Override
public void addInstanceConfigChangeListener(org.apache.helix.InstanceConfigChangeListener listener) throws Exception {

}
 
示例18
@Override
public void addInstanceConfigChangeListener(org.apache.helix.InstanceConfigChangeListener listener) throws Exception {

}
 
示例19
/**
 * Register a listener for changes to instance config in cluster.
 * @param instanceConfigChangeListener listener to add.
 */
void registerInstanceConfigChangeListener(InstanceConfigChangeListener instanceConfigChangeListener);